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)

相关推荐

  • html5的头部标记有什么(html5头部标记)

    技术html5的头部标记怎么使用这篇文章主要讲解了“html5的头部标记怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“html5的头部标记怎么使用”吧!

    攻略 2021年12月17日
  • 如何读取netcdf数据并在matplotlib Basemap上绘图

    技术如何读取netcdf数据并在matplotlib Basemap上绘图这篇文章主要为大家展示了“如何读取netcdf数据并在matplotlib Basemap上绘图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑

    攻略 2021年12月8日
  • 公务员报名要求,公务员省考报考条件要求

    技术公务员报名要求,公务员省考报考条件要求以2021年广西省考为例,报考要求为公务员报名要求:
    1.具有中华人民共和国国籍。
    2.拥护中华人民共和国宪法,拥护中国共产党领导和社会主义制度。
    3.具有良好的政治素质和道德品

    生活 2021年10月21日
  • 部署SD-WAN之前要执行的三个步骤分别是什么

    技术部署SD-WAN之前要执行的三个步骤分别是什么部署SD-WAN之前要执行的三个步骤分别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。随着企业制

    攻略 2021年11月24日
  • 怎么用Visio画UML图

    技术怎么用Visio画UML图小编给大家分享一下怎么用Visio画UML图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用Visio画UML图

    攻略 2021年12月4日
  • excel函数的使用方法,Excel替换函数的使用方法

    技术excel函数的使用方法,Excel替换函数的使用方法可以根据以下6个步骤操作excel函数的使用方法:方法/步骤1:SUBSTITUTE函数格式为:SUBSTITUTE(text,old_text,new_text

    生活 2021年11月1日