首页 > 其他 > 详细

[LeetCode#]Binary Tree Inorder Traversal

时间:2015-01-11 06:10:19      阅读:235      评论:0      收藏:0      [点我收藏+]

The problem:

Given a binary tree, return the inorder traversal of its nodes‘ values.

For example:
Given binary tree {1,#,2,3},

   1
         2
    /
   3

 

return [1,3,2].

Note: Recursive solution is trivial, could you do it iteratively?

 

The recursion way is very trivial:

public class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
    
        ArrayList<Integer> ret = new ArrayList<Integer> ();
        
        if (root == null)
            return ret;
        
        helper(root, ret);
        return ret; 
    }
    
    private void helper(TreeNode cur_root, ArrayList<Integer> ret) {
        
        if (cur_root == null)
            return;
        
        helper(cur_root.left, ret);
        ret.add(cur_root.val);
        helper(cur_root.right, ret);
    }
}

 

[LeetCode#]Binary Tree Inorder Traversal

原文:http://www.cnblogs.com/airwindow/p/4216061.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!