zoukankan      html  css  js  c++  java
  • [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行代码的位置就可以了。先序就放到最前面,中序就放到中间,后序就放到最后面。其他的也没啥要注意的了。

  • 相关阅读:
    你不是真正的快乐
    春天里
    一生有你
    故乡
    第一天
    直来直往
    恋恋风尘
    烦恼歌
    because of you
    从头再来
  • 原文地址:https://www.cnblogs.com/boris1221/p/9295885.html
Copyright © 2011-2022 走看看