94. Binary Tree Inorder Traversal

来源:互联网 发布:淘宝怎么成为大v 编辑:程序博客网 时间:2024/06/15 10:36

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

For example:
Given binary tree [1,null,2,3],

   1    \     2    /   3

return [1,3,2].

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

思路:
1、题意为中序遍历二叉树。遍历顺序为左—>根—>右。
2、使用递归思想解决。

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    public List<Integer> inorderTraversal(TreeNode root) {          List<Integer> result = new LinkedList<Integer>();          if (root != null) {              in_order(result, root.left);              result.add(root.val);              in_order(result, root.right);          }          return result;      }      private void in_order(List<Integer> result, TreeNode curr) {          if (curr != null) {              in_order(result, curr.left);              result.add(curr.val);              in_order(result, curr.right);          }      }  }
原创粉丝点击