0094-leetcode算法实现之二叉树中序遍历-binary-tree-inorder-traversal-pythongolang实现

技术0094-leetcode算法实现之二叉树中序遍历-binary-tree-inorder-traversal-pythongolang实现 0094-leetcode算法实现之二叉树中序遍历-bi

0094-leetcode算法实现之二叉树中序遍历-二叉树-有序遍历-皮通戈朗实现

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

示例1:

输入:root=[1,null,2,3]

输出:[1,3,2]

示例2:

输入:root=[]

输出:[]

示例3:

输入:root=[1]

输出:[1]

示例4:

输入:root=[1,2]

输出:[2,1]

示例5:

输入:root=[1,null,2]

输出:[1,2]

提示:

树中节点数目在范围[0, 100] 内

-100=节点值=100

进阶:递归算法很简单,你可以通过迭代算法完成吗

来源:力扣(LeetCode)

链接:https://leet代码-cn。com/problems/二叉树-有序遍历

python

# 0094.二叉树中序遍历

# 递归迭代

类别解决方案:

def inoderrecury(self,head: TreeNode) – int:

”’

递归遍历,LNR,左根右

:参数标题:

:return:

”’

极好的遍历(头部):

# 递归终止条件

如果head==None:

返回

遍历(头向左)

打印(head.val ‘ ‘)

res.append(head.val)

遍历(头向右)

res=[]

遍历(头部)

返回资源

def inoderation(self,head: TreeNode):

”’

迭代遍历,LNR,左根右

:参数标题:

:return:

”’

如果head==None:

返回

曲面=头部

stack=[]

res=[]

当弯曲或堆叠时:

# 先迭代访问最底层的左子树节点

if cur:

堆栈。追加(当前)

cur=cur。左侧

# 到达最左节点后处理栈顶节点

else:

cur=stack.pop()

res.append(cur.val)

# 取栈顶元素的右节点

cur=cur。右

返回资源

golang

包装主体

导入”容器/列表”

//二叉树的中序遍历-递归迭代

//递归遍历

func inodertraversation(根*树节点)[]int {

//递归遍历,LNR,左根右

var res=[]int{}

var inoder func(节点*树节点)

inoder=func(node * TreeNode){ 0

如果节点==零

返回

}

节点。左)

res=追加(res,节点瓦尔)

节点。右)

}

无机(根)

返回资源

}

//迭代遍历LNR左中右左根右

func Inorder(root * TreeNode)[]int {

var res=[]int{}

if root==nil {

返回零

}

堆栈:=列表新()//创建链表容器

节点:=根

//1.先将所有的左节点找到,压入栈中

对于节点!=零

堆栈。推回(节点)

节点=节点。左边的

}

//2.对栈中的每个节点先弹出加入到表示留数中,再找到该节点的右节点的所有左节点加入栈中

对于堆栈.len(){ 0

e :堆栈。后退()

节点:=e.Value.(*TreeNode)

堆栈。删除(e)

//找到该节点的右节点,再搜索其所有的左节点加入栈中

res=追加(res,节点瓦尔)

节点=节点。对吧

对于节点!=零

堆栈。推回(节点)

节点=节点。左边的

}

}

返回资源

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/84597.html

(0)

相关推荐

  • 复印身份证正反面步骤,复印机如何复印身份证正反面

    技术复印身份证正反面步骤,复印机如何复印身份证正反面复印机复印身份证正反面的操作步骤(以带有身份证复印功能的复印机举例):1、打开复印机盖子后将身份证放入并盖上;2、选择【身份证双面复印】选项复印身份证正反面步骤,并按下

    生活 2021年11月1日
  • 如何理解Java通过加密技术保护源代码的方法

    技术如何理解Java通过加密技术保护源代码的方法这篇文章主要讲解了“如何理解Java通过加密技术保护源代码的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Ja

    攻略 2021年10月25日
  • vue和react给我的感受

    技术vue和react给我的感受 vue和react给我的感受以下纯属个人使用两个框架的感想和体会:不知道你们是否有这种感觉~我vue和react都用过一段时间,但是vue给我感觉就是经常会忘记语法,需

    礼包 2021年12月15日
  • 奥运会会歌,历届奥运会的会歌是什么

    技术奥运会会歌,历届奥运会的会歌是什么·2008北京奥运应征歌曲《梦想在望》1984洛杉矶奥运会主题曲
    歌名奥运会会歌:ReachOut欢乐通宵
    词曲:[美]约翰·威廉姆斯(JohnWilliams)
    演唱:[美]莱昂纳

    生活 2021年10月31日
  • sqliteselect详解(sqlite语句)

    技术SQLite中SELECT基本形式是什么这篇文章将为大家详细讲解有关SQLite中SELECT基本形式是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SQLite中SELECT

    攻略 2021年12月18日
  • ios-xr如何配置PBB-EVPN

    技术ios-xr如何配置PBB-EVPN这篇文章给大家分享的是有关ios-xr如何配置PBB-EVPN的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。配置l2vpn
    bridge group

    攻略 2021年11月21日