[leetcode] Binary Tree Inorder Traversal

Posted Lin.B

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[leetcode] Binary Tree Inorder Traversal相关的知识,希望对你有一定的参考价值。

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

Example:

Input: [1,null,2,3]
   1
         2
    /
   3

Output: [1,3,2]

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


分析:题目比较简单,要求对一个二叉树做中序遍历。emmm,很基础的DFS就可以了。代码如下:
 1 class Solution {
 2     public List<Integer> inorderTraversal(TreeNode root) {
 3         List<Integer> list = new ArrayList<>();
 4         helper(list,root);
 5         return list;
 6     }
 7     private void helper(List<Integer> list, TreeNode root) {
 8         if ( root == null ) return;
 9         helper(list,root.left);
10         list.add(root.val);
11         helper(list,root.right);
12     }
13 }

      运行时间0ms,哇,第一个0ms成就达成!

      关于二叉树的先序、中序、后序遍历,只要改一下第10行代码的位置就可以了。先序就放到最前面,中序就放到中间,后序就放到最后面。其他的也没啥要注意的了。

以上是关于[leetcode] Binary Tree Inorder Traversal的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 979. Distribute Coins in Binary Tree

(Easy) Search in Binary Tree - LeetCode

Leetcode_easy993. Cousins in Binary Tree

[LeetCode] Find Mode in Binary Search Tree

leetcode 501. Find Mode in Binary Search Tree

[Leetcode]700. Search in a Binary Search Tree