94. Binary Tree Inorder Traversal

news/2023/12/9 20:49:33 标签: java, 数据结构与算法, runtime

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?

难度:medium

题目:给定二叉树,返回其中序遍历结点。(不要使用递归)

思路:栈

Runtime: 1 ms, faster than 55.50% of Java online submissions for Binary Tree Inorder Traversal.
Memory Usage: 36.2 MB, less than 100.00% of Java online submissions for Binary Tree Inorder Traversal.

/**
 * 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) {
        Stack<TreeNode> stack = new Stack<>();
        List<Integer> result = new ArrayList<>();
        while (!stack.isEmpty() || root != null) {
            if (root != null) {
                stack.push(root);
                root = root.left;
            } else {
                TreeNode node = stack.pop();
                result.add(node.val);
                root = node.right;
            }
        }
        
        return result;
    }
}

http://www.niftyadmin.cn/n/1117634.html

相关文章

OWIN的理解和实践(二) – Host和Server的开发

对于开发人员来说,代码就是最好的文档,如上一篇博文所说,下面我们就会基于Kanata项目的一些具体调用代码,来进一步深入理解OWIN的实现和作用. 今天我们先针对Host和Server来实现一个简单的应用. 我们的开发环境是: VS2013 Update 3, .Net Framework 4.5.1 Host开发 如上篇博文…

vector 与 arraylist

就ArrayList 与Vector 主要从二方面来说. 一.同步性:Vector 是线程安全的&#xff0c;也就是说是同步的&#xff0c;而ArrayList 是线程序不安全的&#xff0c;不是 同步的 二.数据增长:当需要增长时,Vector 默认增长为原来一培&#xff0c;而ArrayList 却是原来的一半 就HashM…

【转】The Top 10 Javascript MVC Frameworks Reviewed 12种JavaScript MVC框架之比较

原文&#xff1a; Over the last several months I have been in a constant search for the perfect javascript MVC framework. Driven by a dire need for the right level of abstraction and features, I have tried out - some more cursorily than others - every frame…

splinter开发

2019独角兽企业重金招聘Python工程师标准>>> #!/usr/bin/env python3 #-*- coding:utf-8 -*- import os,sys,time from splinter import Browser import requests from PIL import Image from json import loads from requests.packages.urllib3.exceptions import …

有关单点登录的几种方案

原文 http://www.cnblogs.com/jake1/archive/2013/04/28/sso_scheme.html 前几天&#xff0c;花了比较多时间在研究Eentity framework, 从今天开始,我要把时间集中在,介绍以前做门户网站的一些好的项目方案了. 首先介绍一下,单点登录吧.一个企业,要做信息化集成,要做门户,首先肯…

VueJS 的编译阶段到挂载节点

概述 为了实现响应式模式&#xff0c;Vue用render函数来生成vnode&#xff0c;并使用diff算法对比新旧vnode&#xff0c;最后更新到真实DOM上。 由于是在编译阶段而不是在监听阶段&#xff0c;所以vnode没有对比的对象&#xff0c;直接通过vnode生成真实DOM。 Vnode是Vdom上的一…

关于软件小组的选择

2015年3月19日 今天&#xff0c;我们开展了小组讨论&#xff0c;主要是讨论一下哪种类型的小组组织适于开发附录A的“巧克力爱好者匿名”产品。 小组的五朵“金花”们就适合于我们小组进行开发的软件小组类型进行了激烈的讨论&#xff0c;最终小组的意见集中在了民主小组和敏捷…

SFB 项目经验-69-如何预防勒索病毒【生产环境90%服务器中勒索病毒】(欢迎大家补充)...

问题描述&#xff1a;1&#xff09;某公司Windows域环境完全中勒索病毒2&#xff09;中勒索病毒的服务器A. DC\DNS\ADCS (Windows Server 2016)B. Office Online Server 2016C. Exchange Server 2016D. Sql Server 2014 With SP1E. Skype for business Server 2015F. Vee…

Powershell 创建活动目录

管理员启动 Powershell命令&#xff1a;Install-WindowsFeature AD-Domain-Services -IncludeAllSubFeature -IncludeManagementTools………………下图脚本是你之前Windows 创建 活动目录向导时候 Windows自动创建的&#xff0c;当然你可以修改具体的内容……把下面的內容直接…

lsattr 命令详解

lsattr 作用&#xff1a; 查看文件的第二扩展文件系统属性选项&#xff1a;-a: 列出目录中的全部文件-E: 显示设备属性的当前值&#xff0c; 从设备数据库中获得-D: 显示属性的名称&#xff0c; 属性的默认值&#xff0c;描述和用户是否可以修改属性值得标志-R: 递归的操作方式…

来自Kenneth Reitz大神的建议:避免不必要的面向对象编程

你也许见过很多人对于Python的评价&#xff0c;他们说Python是“脚本语言”和“胶水语言”&#xff0c;在某种程度上&#xff0c;他们说的是对的。但是&#xff0c;如果你学习过Python&#xff0c;你会知道Python也支持面向对象的编程&#xff0c;更有甚者&#xff0c;在Python…

JavaScript正则表达式迷你书-笔记

贪婪模式&#xff1a; 在使用修饰匹配次数的特殊符号时&#xff0c;有几种表示方法可以使同一个表达式能够匹配不同的次数&#xff0c;比如&#xff1a;"{m,n}", "{m,}", "?", "*", ""&#xff0c;具体匹配的次数随被匹配的…

测试经理能力要求

中层经理人不论是作为一名执行者、还是一名领导者&#xff0c;都必须通过别人来完成任务。要做个“服众”的经理人&#xff0c;应该有意识地提高以下八项能力&#xff1a;1. 领悟能力做任何一件事以前&#xff0c;一定要先弄清楚上司希望你怎么做&#xff0c;然后以此为目标来把…

梦断代码(一)

开始看这本书主要的感觉是蛮新鲜的&#xff0c;没看过这方面的书嘛&#xff0c;感觉干软件的那些牛人也没有那么牛&#xff0c;这是一个软件开发的灾难&#xff0c; 当然问题很多啦&#xff0c;其中一点是感觉作为程序员对于用户需求貌似总不感冒&#xff0c;而是对新的技术&am…

这50款前端热门工具简直不要太好用了!(3)

为什么80%的码农都做不了架构师&#xff1f;>>> 上两篇介绍了构建、框架和库、CSS和HTML、JavaScript相关的工具&#xff0c;这篇文章小编将介绍剩余21款工具&#xff0c;希望在新的一年里对大家有所帮助。 ## 图标、图表工具 ### 30、Orion Icon Library [orionic…

MAC XAMPP 整合使用Redis 及 安装php redis扩展

&#xff08;环境&#xff1a; MAC XAMPP redis&#xff09; 【本期概要&#xff1a;】 1、安装整合的准备工作 2、Redis服务的安装 3、PHP Redis扩展的安装 4、整合调试 复制代码一、准备工作 1、安装 Homebrew (macOS 缺失的软件包管理器) 参考连接&#xff1a;brew.sh/ind…
最新文章