144. Binary Tree Preorder Traversal
来源:互联网 发布:知乎 车枪球 编辑:程序博客网 时间:2024/06/04 20:08
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given binary tree {1,#,2,3}
,
1 \ 2 / 3
return [1,2,3]
.
Note: Recursive solution is trivial, could you do it iteratively?
前序遍历用递归很容易写,用迭代需要用到堆栈。代码如下:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<Integer> preorderTraversal(TreeNode root) { Stack<TreeNode> stack = new Stack<TreeNode>(); List<Integer> res = new ArrayList<Integer>(); while (root != null) { res.add(root.val); if (root.right != null) { stack.push(root.right); } root = root.left; if (root == null && !stack.isEmpty()) { root = stack.pop(); } } return res; }}
0 0
- 144.Binary Tree Preorder Traversal
- 144.Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144.Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- leetcode392. Is Subsequence
- 链表相关的热点面试题(一)
- RSA算法
- 树学习(1)
- matlab下生成随机文件名函数
- 144. Binary Tree Preorder Traversal
- Android面试题-解决字体适配
- 前端框架Vue.js的使用及具体页面跳转时的参数传递
- Android的listView的一级优化
- Android设置全屏方法
- 矩阵快速幂模板
- 原始ajax的基本实现步骤
- AES算法
- Android下的任务和Activity栈(以及taskAffinity属性) (2011-03-08 09:32:05)转载▼