• leetcode二叉树前序遍历


    二叉树前序遍历

    题目本身没啥值得说的, 根左右,但是这个遍历的框架值得记录,主要是想借助题目形成框架,套路

    
    package binarytree;
    
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * 144. 二叉树的前序遍历
     * 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
     * <p>
     * <p>
     * <p>
     * 示例 1:
     * <p>
     * <p>
     * 输入:root = [1,null,2,3]
     * 输出:[1,2,3]
     * 示例 2:
     * <p>
     * 输入:root = []
     * 输出:[]
     * 示例 3:
     * <p>
     * 输入:root = [1]
     * 输出:[1]
     * 示例 4:
     * <p>
     * <p>
     * 输入:root = [1,2]
     * 输出:[1,2]
     * 示例 5:
     * <p>
     * <p>
     * 输入:root = [1,null,2]
     * 输出:[1,2]
     * <p>
     * <p>
     * 提示:
     * <p>
     * 树中节点数目在范围 [0, 100] 内
     * -100 <= Node.val <= 100
     * <p>
     * <p>
     * 进阶:递归算法很简单,你可以通过迭代算法完成吗?
     */
    public class PreorderTraversal {
        /**
         * 前序遍历  根左右
         *
         * @param root
         * @return
         */
        public static List<Integer> preorderTraversal(TreeNode root) {
            List<Integer> res = new ArrayList<>();
            preOrder(root, res);
            return res;
        }
    
        private static void preOrder(TreeNode root, List<Integer> res) {
            if (root == null) {
                return;
            }
            res.add(root.val);
            preOrder(root.left, res);
            preOrder(root.right, res);
        }
    
        public static void main(String[] args) {
            Integer[] data = {1, null, 2, 3};
            TreeNode node = GenerateTreeNode.generateTreeNode(data);
            List<Integer> res = preorderTraversal(node);
            for (int i = 0; i < res.size(); i++) {
                System.out.println(res.get(i));
            }
        }
    }
    
    
  • 相关阅读:
    URAL 2046 A
    URAL 2056 Scholarship 水题
    Codeforces Gym 100286I iSharp 水题
    Codeforces Gym H. Hell on the Markets 贪心
    Codeforces Gym 100286G Giant Screen 水题
    Codeforces Gym 100286B Blind Walk DFS
    Codeforces Gym 100286F Problem F. Fibonacci System 数位DP
    Codeforces Gym 100286A. Aerodynamics 计算几何 求二维凸包面积
    Codeforces Gym 100418K Cards 暴力打表
    Codeforces Gym 100418J Lucky tickets 数位DP
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/15682171.html
Copyright © 2020-2023  润新知