• Lc144_二叉树的前序遍历


    package com.example.demo;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * 144. 二叉树的前序遍历
     * 给定一个二叉树,返回它的 前序 遍历。
     * <p>
     * 示例:
     * <p>
     * 输入: [1,null,2,3]
     * 1
     * 
     * 2
     * /
     * 3
     * <p>
     * 输出: [1,2,3]
     */
    public class Lc144 {
        //循环
    //    public static List<Integer> preorderTraversal(TreeNode root) {
    //        Stack<TreeNode> stack = new Stack<>();
    //        List<Integer> list = new ArrayList<>();
    //        TreeNode curr = root;
    //        while (curr!=null || !stack.isEmpty()){
    //            while(curr!=null){
    //                list.add(curr.val);
    //                stack.push(curr);
    //                curr=curr.left;
    //            }
    //            curr = stack.pop();
    //            curr =curr.right;
    //        }
    //        return list;
    //    }
    
        //递归
        static List<Integer> list = new ArrayList<>();
        public static List<Integer> preorderTraversal(TreeNode root){
            if(root!=null){
                list.add(root.val);
                preorderTraversal(root.left);
                preorderTraversal(root.right);
            }
            return list;
        }
    
        public static void main(String[] args) {
            Integer[] arr = new Integer[] { 1,2,3,4,5,6,7};
            TreeNode root = CreateNode.createTree(arr).get(0);
            List<Integer> list = preorderTraversal(root);
            list.forEach(n -> System.out.println(n));
        }
    }
    
    
    
  • 相关阅读:
    UIButton和UIImageView的区别
    大道至简第八章读后感
    简单登录界面
    大道至简第七章读后感
    计算成绩代码
    大道至简第六章读后感
    产生随机数代码
    大道至简第五章读后感
    计算成绩算法
    加密算法
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/13130404.html
Copyright © 2020-2023  润新知