首页 > 代码库 > [LeetCode#]Binary Tree Inorder Traversal

[LeetCode#]Binary Tree Inorder Traversal

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