[LeetCode] binary-tree-preorder-traversal
来源:互联网 发布:冷漠没有同情心知乎 编辑:程序博客网 时间:2024/06/03 10:41
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?
import java.util.ArrayList;import java.util.Stack;public class Tree {public class TreeNode{int val;TreeNode left;TreeNode right;TreeNode(int x){val = x;}}public TreeNode init(){TreeNode root = new TreeNode(1);//1初始化根root.left = null;root.right = new TreeNode(2);//2初始化根的右子树root.right.left = new TreeNode(3);root.right.right = null;//返回根节点return root;}public static void main(String[] args){TreeNode root = new Tree().init();System.out.println(preorderTravelsal(root));}public static ArrayList<Integer> preorderTravelsal(TreeNode root){ArrayList<Integer> list = new ArrayList<>();if (root == null) {return list;}//使用栈结构进行存储,因为是先进后出,所以除了一开始根入栈外,后续的入栈顺序是右→左,这样弹出时即为前序遍历的顺序Stack<TreeNode> stack = new Stack<>();stack.push(root);while(!stack.isEmpty()){TreeNode t = stack.pop();list.add(t.val);if (t.right != null) {stack.push(t.right);}if (t.left != null) {stack.push(t.left);}}return list;}}
阅读全文
0 0
- LeetCode Binary Tree Preorder Traversal
- 【LeetCode】Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- Leetcode Binary Tree Preorder Traversal
- LeetCode:Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- LeetCode:Binary Tree Preorder Traversal
- [LeetCode]Binary Tree Preorder Traversal
- [LeetCode] Binary Tree Preorder Traversal
- LeetCode | Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- [LeetCode] Binary Tree Preorder Traversal
- LeetCode - Binary Tree Preorder Traversal
- LeetCode - Binary Tree Preorder Traversal
- 【LeetCode】Binary Tree Preorder Traversal
- [LeetCode]Binary Tree Preorder Traversal
- Binary Tree Preorder Traversal - LeetCode
- [Leetcode] Binary Tree Preorder Traversal
- javascript
- 方法传入参数(来自成员变量),在方法中修改参数,退出方法后,是否会改变参数值呢?
- 去除重复字符
- sizeof与数组和指针
- 【自定义View】5.仿探探的卡片滑动效果
- [LeetCode] binary-tree-preorder-traversal
- GIL理解
- DCGAN代码分析
- 虚拟机类加载机制
- 刻意学习笔记以及一周回顾
- Gradle基本使用(5):文件操作
- 无题
- 关于对Spring中AOP的Advice(通知、增强)的属性Around的理解
- mycat2.0内测之配置和启动(随时更新)