LintCode: Binary Tree Preorder Traversal
2016-03-13 13:30
281 查看
Problem:
Given a binary tree, return the preorder traversal of its nodes' values.
Idea:
The trick here is to set a private variable result and refresh it in the helper method, then do the preorder traversal in a recursive way.
Code:
Given a binary tree, return the preorder traversal of its nodes' values.
Idea:
The trick here is to set a private variable result and refresh it in the helper method, then do the preorder traversal in a recursive way.
Code:
/** * 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 { /** * @param root: The root of binary tree. * @return: Preorder in ArrayList which contains node values. */ private ArrayList<Integer> result = new ArrayList<Integer>(); public ArrayList<Integer> preorderTraversal(TreeNode root) { // write your code here // handle corner case if (root == null) { return result; } helper(root); return result; } private void helper(TreeNode node) { if (node == null) { return; } // refresh result result.add(node.val); // go for left and right helper(node.left); helper(node.right); } }
相关文章推荐
- hdoj--1872--稳定排序(水题)
- 按照Right-BICEP要求设计四则运算2程序的单元测试用例
- Eclipse如何修改Web项目的名称
- JavaScript控制页面显示和隐藏带案例
- javascript继承
- 20145305 《Java程序设计》第2周学习总结
- hdoj--5526--欧拉回路(欧拉回路)
- hdoj 排列2 1716 (排序&输出格式)
- cocos2dx 浏览器
- hdoj--5526--欧拉回路(欧拉回路)
- 图文混排的数据处理
- Fibonacci数列计算
- Fibonacci数列计算
- Fibonacci数列计算
- Fibonacci数列计算
- Fibonacci数列计算
- TCP/IP、Http的区别
- Redis整合Spring结合使用缓存实例(转)
- 字符串输入输出相关
- π的近似值