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)

相关推荐

  • 梦想当老师的英语作文,我的梦想老师英语作文50字左右

    技术梦想当老师的英语作文,我的梦想老师英语作文50字左右《My dream is to be a teacher》i have a dream,i want to be a english teacher.first,e

    生活 2021年10月28日
  • 如何用php删除本地文件

    技术如何用php删除本地文件这篇文章主要介绍“如何用php删除本地文件”,在日常操作中,相信很多人在如何用php删除本地文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用php删除本

    攻略 2021年10月29日
  • Solr4.7如何使用分组查询方面

    技术solr4.7分组查询facet怎么使用本篇内容主要讲解“solr4.7分组查询facet怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“solr4.7分组查询fa

    攻略 2021年12月22日
  • C#泛型类概念举例分析

    技术C#泛型类概念举例分析这篇文章主要讲解了“C#泛型类概念举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#泛型类概念举例分析”吧!C# 泛型类封装不是特定于具

    攻略 2021年12月2日
  • 抖音赞1w20元,教你如何快速用白菜价刷10000个抖音赞!

    技术抖音赞1w20元,教你如何快速用白菜价刷10000个抖音赞!抖音赞1w多少钱,简直就是白菜价在抖音上发布作品,没有人点赞是一件很尴尬的事情,就相当于你的作品已经被抖音抛弃了。想要抖音点赞,可以寻找代刷抖音点赞的网址,

    测评 2021年10月20日
  • debug D命令如何查看指定地址及其之后的128字节的内容

    技术debug D命令如何查看指定地址及其之后的128字节的内容debug D命令如何查看指定地址及其之后的128字节的内容,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到

    攻略 2021年11月11日