• 94. Binary Tree Inorder Traversal java solutions


    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?

    Subscribe to see which companies asked this question

     1 /**
     2  * Definition for a binary tree node.
     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         ArrayList<Integer> ans = new ArrayList<Integer>();
    13         Stack<TreeNode> s = new Stack<TreeNode>();
    14 
    15         if(root == null) return ans;
    16         s.push(root);
    17         while(!s.isEmpty()){
    18             TreeNode node = s.peek();
    19             if(node.left != null){
    20                 s.push(node.left);
    21                 node.left = null;//原先这里没有设置为null一直内存超出限制,过不去。不知道为什么,
    22             }else{
    23                 ans.add(node.val);
    24                 s.pop();
    25                 if(node.right != null){
    26                     s.push(node.right);
    27                 }
    28             }
    29         }
    30         
    31         return ans;
    32     }
    33 }
  • 相关阅读:
    二维数组排序
    正则验证
    yii2视频教材
    yii2数据库简单操作
    MySQL(zip版)安装教程
    OpenCV插件
    机器视觉项目总结——光源
    VS2017运行YOLOv4
    VS打开cmd(直接在项目路径)
    【转载】Win10安装Ubuntu子系统
  • 原文地址:https://www.cnblogs.com/guoguolan/p/5609845.html
Copyright © 2020-2023  润新知