Leetcode-Binary Tree Inorder Traversal

LiBlog發表於2014-11-29

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?

confused what "{1,#,2,3}" means? > read more on how binary tree is serialized on OJ.

Have you met this question in a real interview?
 
Solution:
 1 /**
 2  * Definition for binary tree
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution {
11     public List<Integer> inorderTraversal(TreeNode root) {
12         List<Integer> nodeList = new ArrayList<Integer>();
13         inorderRecur(nodeList,root);
14 
15         return nodeList;
16         
17     }
18 
19     public void inorderRecur(List<Integer> nodeList, TreeNode curNode){
20         if (curNode==null) return;
21 
22         inorderRecur(nodeList,curNode.left);
23         nodeList.add(curNode.val);
24         inorderRecur(nodeList,curNode.right);
25 
26         return;
27 
28     }
29 }

 

相關文章