• 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));
        }
    }
    
    
    
  • 相关阅读:
    linux---shell数组
    linux---shell传递参数
    Windows mysql免安装版配置。(版本号-5.6.45);
    contos 6.9 和 centos7 配置docker?
    数据库表的演化过程
    docker简单介绍。
    Linux 配置 mycat 和 分库分表配置。
    Linux 配置mysql 免安装版。
    mycat 简单介绍
    kibana 对es的简单操作。
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/13130404.html
Copyright © 2020-2023  润新知