LeetCode--No.144--Binary Tree Preorder Traversal
来源:互联网 发布:linux 守护进程启动 编辑:程序博客网 时间:2024/05/22 17:00
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]
.
二叉树的先序遍历
递归算法:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { List<Integer> res = new ArrayList<Integer>(); public List<Integer> preorderTraversal(TreeNode root) { if(root == null){ return res; } else { res.add(root.val); preorder(root); } return res; } public void preorder(TreeNode node){ if (node.left == null && node.right == null){ return; } else{ if (node.left != null){ res.add(node.left.val); preorder(node.left); } if (node.right != null ) { res.add(node.right.val); preorder(node.right); } } }}非递归算法:
用栈
代码来自:http://www.programcreek.com/2012/12/leetcode-solution-for-binary-tree-preorder-traversal-in-java/
侵删!!
/** * 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) { List<Integer> returnList = new ArrayList<Integer>(); if (root == null) return returnList; Stack<TreeNode> stack = new Stack<TreeNode>(); stack.push(root); while(!stack.empty()){ TreeNode n = stack.pop(); returnList.add(n.val); if(n.right != null) stack.push(n.right); if(n.left != null) stack.push(n.left); } return returnList; }}
0 0
- LeetCode--No.144--Binary Tree Preorder Traversal
- LeetCode(144)Binary Tree Preorder Traversal
- LeetCode: Binary Tree Preorder Traversal [144]
- [leetcode 144]Binary Tree Preorder Traversal
- leetcode || 144、Binary Tree Preorder Traversal
- Binary Tree Preorder Traversal - LeetCode 144
- LeetCode 144 : Binary Tree Preorder Traversal
- LeetCode 144 Binary Tree Preorder Traversal
- LeetCode 144: Binary Tree Preorder Traversal
- Leetcode[144]-Binary Tree Preorder Traversal
- leetcode(144):Binary Tree Preorder Traversal
- Binary Tree Preorder Traversal (leetcode 144)
- leetcode[144]:Binary Tree Preorder Traversal
- [Leetcode 144, Medium] Binary Tree Preorder Traversal
- LeetCode(144) Binary Tree Preorder Traversal
- 【LeetCode】(144)Binary Tree Preorder Traversal(Easy)
- Leetcode #144 Binary Tree Preorder Traversal
- leetcode: (144) Binary Tree Preorder Traversal
- coolweather Debug
- leetcode-371. Sum of Two Integers
- scala基础6-lazy 懒执行特性
- BMP图像的处理(24位转16位)
- hibernate缓存机制
- LeetCode--No.144--Binary Tree Preorder Traversal
- 两个栈实现一个队列,两个队列实现一个栈
- 表达式树(公共表达式消除 uva 12219)
- Python读取文件
- Android获取屏幕宽高
- 【解决】Ubuntu无法识别U盘分区(NTFS移动硬盘无法挂载)
- SGU 476 Coach's Trouble(集合独立性、容斥、高精度)
- 对于父类的私有属性,子类是从哪里访问到的?
- Android Art Hook 技术方案