Leetcode--94. 二叉树的中序遍历(迭代递归)

给定一个二叉树,返回它的中序 遍历。

示例:

输入: [1,null,2,3]
   1
    \
     2
    /
   3

输出: [1,3,2]

代码:

迭代:

/**

 * Definition for a binary tree node.

 * public class TreeNode {

 *     int val;

 *     TreeNode left;

 *     TreeNode right;

 *     TreeNode(int x) { val = x; }

 * }

 */

 //

 //        1

 //     2     3

 //  4    5  6   7

 //

 //

class Solution {

    public List<Integer> inorderTraversal(TreeNode root) {

        List<Integer> result = new LinkedList<>();

        Stack<TreeNode> stack = new Stack<>();

        if(root==null){

            return result;

        }

        while(!stack.isEmpty()||root!=null){

            if(root!=null){

                stack.push(root);

                root=root.left;

            }else{

                root = stack.pop();

                result.add(root.val);

                root = root.right;

            }

        }

        return result;

    }

}

 

递归:

/**

 * Definition for a binary tree node.

 * public class TreeNode {

 *     int val;

 *     TreeNode left;

 *     TreeNode right;

 *     TreeNode(int x) { val = x; }

 * }

 */

 //

 //        1

 //     2     3

 //  4    5  6   7

 //

 //

class Solution {

    public List<Integer> inorderTraversal(TreeNode root) {

        List<Integer> list = new ArrayList<Integer>();

        if(root==null)

        {

            return list;

        }

        return mid(root,list);

    }

    public List<Integer> mid(TreeNode root,List<Integer> list)

    {

        if(root.left!=null)

        {

            mid(root.left,list);

        }

        list.add(root.val);

        if(root.right!=null)

        {

            mid(root.right,list);

        }

        return list;

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDU-1003 Max Sum(动态规划)

题目回顾&#xff08;HDU-1003&#xff09;&#xff1a; Max Sum Problem DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 (-1) 5 …

揭秘人工智能背后鲜为人知的人工力量——数据标注

来源&#xff1a;帮尼资讯部分参考来源&#xff1a;大数据文摘、点宽DigQuant图片来源&#xff1a;网络尽管随着AI的普及&#xff0c;我们在生活中越来越依赖于人工智能&#xff0c;但“人工智障”的相关调侃也从来没有消失过。相信大家都知道&#xff0c;如果我们想要让AI准确…

Leetcode--144. 二叉树的前序遍历(迭代递归)

给定一个二叉树&#xff0c;返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单&#xff0c;你可以通过迭代算法完成吗&#xff1f; 代码&#xff1a; 迭代&#xff1a; /** * Definition for a binary …

诺贝尔奖也难以衡量其贡献,杨振宁的杨-米尔斯理论到底多厉害?

来源&#xff1a;宇宙时空杨振宁先生的贡献&#xff0c;宇称不守恒&#xff0c;打破了诺贝尔奖颁奖的时间记录&#xff0c;比爱因斯坦快了整整16年。可是&#xff0c;跟杨-米尔斯理论相比&#xff0c;它简直不值一提。如果把人类的科学发展比作一场大型的通关游戏现场&#xff…

Leetcode--1019. 链表中的下一个更大节点(java)

给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为&#xff1a;node_1, node_2, node_3, ... 。 每个节点都可能有下一个更大值&#xff08;next larger value&#xff09;&#xff1a;对于 node_i&#xff0c;如果其 next_larger(node_i) 是 node_j.val&a…

美国科研欲重回阿波罗登月水平,基础科学投入计划翻倍

来源&#xff1a;机器之心编辑&#xff1a;泽南、小舟在与中国的全面竞争中&#xff0c;美国希望能在基础科学领域里保持领先&#xff0c;对此其不惜准备将经费投入重新提高到 20 世纪 60 年代「阿波罗登月计划」时期的最高水平。美国众议院科学委员会希望在未来五年内将国家科…

django模板系统(上)

filters 过滤 default 替代作用 filesizeformat 格式化为人类可读 add 给变量加参数 lower 小写 upper 大写 title 标题 ljust 左对齐 rjust 右对齐 center 居中 length 返回value的长度 slice 切片 first 取第一个元素 last 取最后…

StringBuilder初始化容量以及扩容机制(源码分析)

我们从源码来分析一下StringBuilder的底层原理&#xff1a; /*** Constructs a string builder with no characters in it and an* initial capacity of 16 characters.*/public StringBuilder() {super(16);} 定义一个无参的StringBuilder时&#xff0c;初始化容量为16.例如&…

爬虫爬取百度词条

页面是随时升级的&#xff0c;所以现在的链接不代表以后的链接&#xff0c;但是万变不离其宗&#xff0c;只要学会解析页面&#xff0c;那么就能走的更远。 码云链接&#xff1a;https://gitee.com/ALADL/baike_spider.git from baike_spider import url_manager,html_download…

模仿大脑:下一代计算机

《环球科学》供图光明图片/视觉中国光明图片/视觉中国文章来源&#xff1a;光明日报作者&#xff1a;茱莉格洛利耶【环球科技】引 言在过去几年中&#xff0c;人工智能算法取得了巨大的进步。它在我们日常生活中的应用越来越普遍&#xff0c;经常被用于分析文本或图片的内容&a…

Leetcode--210.课程表Ⅱ

现在你总共有 n 门课需要选&#xff0c;记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如&#xff0c;想要学习课程 0 &#xff0c;你需要先完成课程 1 &#xff0c;我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件&#xff0c;返回你为了学完所…

前后端分离使用 Token 登录解决方案

前后端分离使用 Token 登录解决方案&#xff1a;https://juejin.im/post/5b7ea1366fb9a01a0b319612转载于:https://www.cnblogs.com/bydzhangxiaowei/p/9768945.html

新能源关键技术预见的研究

来源&#xff1a;微信公众号科学家&#xff0c;原载于《今日科苑》2020年第11期作者&#xff1a;刘进萍、卢世刚1. 引言新能源是指采用新技术和新材料正在开发利用的新型能源&#xff0c;既包括风能、太阳能、生物质能等可再生能源&#xff0c;也包括核能、氢能等其他非化石能源…

Leetcode--152. 乘积最大子数组(java)

给你一个整数数组 nums &#xff0c;请你找出数组中乘积最大的连续子数组&#xff08;该子数组中至少包含一个数字&#xff09;&#xff0c;并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出…

淘淘相关工具类【json,httpClient,id,FTP,exception,cookie(包括共享cookie的设置等)】

json package com.taotao.common.utils;import java.util.List;import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper;public class JsonUtils {// 定义jackson对…

谷歌前CEO:美国科技优势面临最危险时刻

文章来源&#xff1a;VOA&#xff0c;2021-03-28 &#xff0c;不代表本平台立场图片来源&#xff1a;GETTY IMAGES、知乎、网络等编辑&#xff1a;阿丽西娅中国在人工智能&#xff08;AI&#xff09;发展的多项指标上直逼美国优势&#xff0c;有些领域甚至已经实现超越。许多分…

HashMap源码分析(搞懂HashMap看这个就够了)

首先来看看HashMap&#xff0c;从构造函数看起 HashMap有四个构造函数 第一个&#xff1a; public HashMap() {this.loadFactor DEFAULT_LOAD_FACTOR; // all other fields defaulted} 无参的构造函数&#xff0c;初始容量为默认的16不变&#xff0c;loadFactor为负载因子…

CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想

面向对象编程思想 1.面向过程 ​ 从计算机执行角度出发 &#xff0c;代码执行过程核心为从程序的运行过程出发,构建编程思路,例&#xff1a; 哥德巴赫猜想 // 面向过程1 用户输入一个数n2 验证数字的正确性2.1 正确就继续向下2.2 错误就重复输入3 拆数 循环 nab4.判断 a和b同…

波士顿动力的仓库机器人Strentch来了,挑战每小时搬运800个箱子

来源&#xff1a; 雷锋网作者&#xff1a;杨丽编译&#xff1a;TheVerge雷锋网讯&#xff0c;波士顿动力以其机器狗Spot和双足人形机器人Atlas而闻名。不过近年来&#xff0c;该公司开始将目光投放到物流领域&#xff0c;并于日前发布了一款名为Strentch的新型仓库物流机器人。…

Leetcode--1371. 每个元音包含偶数次的最长子字符串(Java)

给你一个字符串 s &#xff0c;请你返回满足以下条件的最长子字符串的长度&#xff1a;每个元音字母&#xff0c;即 a&#xff0c;e&#xff0c;i&#xff0c;o&#xff0c;u &#xff0c;在子字符串中都恰好出现了偶数次。 示例 1&#xff1a; 输入&#xff1a;s "elee…