Binary Tree Preorder Traversal
2015-12-10 23:26
344 查看
Given a binary tree, return the preorder traversal of its nodes’ values.
Have you met this question in a real interview? Yes
Example
Given:
/ \
2 3
/ \
4 5
return [1,2,4,5,3].
Have you met this question in a real interview? Yes
Example
Given:
1
/ \
2 3
/ \
4 5
return [1,2,4,5,3].
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */ public class Solution { public ArrayList<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> result = new ArrayList<Integer>(); // null or leaf if (root == null) { return result; } // Divide ArrayList<Integer> left = preorderTraversal(root.left); ArrayList<Integer> right = preorderTraversal(root.right); // Conquer result.add(root.val); result.addAll(left); result.addAll(right); return result; } }
相关文章推荐
- 网站舆情监测
- 算法之冒泡排序
- Android之如何实现通讯录的搜索并且让匹配到的数据变颜色
- mysql优化技巧
- xCode中ARC与MRC混合编译的手动设置方法
- 固定管线shader以及unity旋转四元数
- Grub和initrd对文件系统驱动的支持
- swift入门一:设置window
- VMware虚拟机通过光盘PE安装GHOSTxp
- 乌云的背后是阳光
- unity3d中的旋转函数之Quaternion.Slerp
- 代码重构
- 三个例子讲清楚Java反射
- Java线程2-4 单任务线程池SingleThreadPool
- PDCA&&Me
- 3GPP 36211-c70-7
- JavaScript 数组
- 全排列总结
- Gradle 脚本剪片---copy
- android5.0自带兼容控件