zoukankan      html  css  js  c++  java
  • LeetCode_144.二叉树的前序遍历

    给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

    示例 1:

    输入:root = [1,null,2,3]
    输出:[1,2,3]
    

    示例 2:

    输入:root = []
    输出:[]
    

    示例 3:

    输入:root = [1]
    输出:[1]
    

    示例 4:

    输入:root = [1,2]
    输出:[1,2]
    

    示例 5:

    输入:root = [1,null,2]
    输出:[1,2]
    

    提示:

    • 树中节点数目在范围 [0, 100]
    • -100 <= Node.val <= 100

    进阶:递归算法很简单,你可以通过迭代算法完成吗?

    C#代码

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     public int val;
     *     public TreeNode left;
     *     public TreeNode right;
     *     public TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public IList<int> PreorderTraversal(TreeNode root) {
            var list = new List<int>();
            if (root == null) return list;
    
            var stack = new Stack<TreeNode>();
            stack.Push(root);
            /*栈顶二叉树出栈,输出其值,且若存在子树均入栈,右子树优先子树入栈*/
            while (stack.TryPop(out TreeNode node))
            {
                list.Add(node.val);
                if (node.right != null) stack.Push(node.right);
                if (node.left != null) stack.Push(node.left);
            }
            return list;
        }
    }
    
  • 相关阅读:
    SpingMVC类型转换
    SpingMVC系统异常处理(二)
    JDBC 之 事务
    JDBC 基础概念
    部分实用的SQL语句
    JDBC基础学习
    手动去除集合中重复元素
    三种形式遍历集合
    java IO流 复制图片
    java IO流 之 字符流
  • 原文地址:https://www.cnblogs.com/fuxuyang/p/14242721.html
Copyright © 2011-2022 走看看