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

  • 相关阅读:
    蓝桥杯--芯片测试
    蓝桥杯--FJ的字符串
    win8 js 没反应
    winform win8 js checkbox互动
    win8 GridView
    wcf服务引用无实体类对象
    arcgis 接口转换与.Net框架
    win8 链接
    分页控件
    Oracle 分页查询存储过程
  • 原文地址:https://www.cnblogs.com/boris1221/p/9295885.html
Copyright © 2011-2022 走看看