python 二叉树中序遍历
根据树的递归性,使用List存储下面这棵树,然后编写函数对其进行中序遍历。
递归实现中序遍历列表存储的二叉树
python列表模拟二叉树存放,列表 = [ [左子树] , 根节点 , [右子树] ]
列表里有列表,列表里又有列表。
之前用 treelist[1] == [ ]判断return,会有超限的问题。
后来想了想,用列表长度判断是否return似乎是个不错的选择。
def Traversal(treelist): if len(treelist) == 1:print(treelist[0], end='')returnelif len(treelist) == 2:if type(treelist[0]) == list:Traversal(treelist[0])print(treelist[1], end='') else:print(treelist[0], end='') Traversal(treelist[1])else:Traversal(treelist[0])print(treelist[1], end='')Traversal(treelist[2])
tree = [ [ [ 'D' ], 'B', [ 'E' ] ], 'A', [ 'C' ] ]
print('中序遍历二叉树:')
Traversal(tree)
中序遍历二叉树:
DBEAC
tree = [ [ [['F'], 'C', [ ['I'], 'G']], 'B' ], 'A', [ 'D', ['E', ['H'] ] ] ]
Traversal(tree)
FCIGBADEH
python 二叉树中序遍历相关推荐
- [Python]二叉树中序遍历代码以及思路
思路: 把中序遍历分为一个有三个阶段的循环,左子节点入栈,没有右子节点出栈, 有右子节点则出栈并且右子节点入栈. 代码: 二叉树节点定义如下 class TreeNode:def __init__(s ...
- python二叉树中序遍历迭代法
迭代法遍历二叉树:左根右 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left ...
- 基本题型记录-二叉树中序遍历
由于本人基础较差,所以针对部分题型做一个记录,以免自己忘记 1.二叉树中序遍历 这个遍历方法可以搜一下博客上很多讲解,这里主要是记录一下代码实现,以下面的二叉树为例子 结果应该是 2.迭代法 2.1 ...
- 数据结构与算法练习-二叉树中序遍历
python数据结构与算法练习-二叉树中序遍历 二叉树中序遍历 思路 python实现 二叉树中序遍历 链接: link. 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 样例 输入:ro ...
- leetcode算法题--二叉树中序遍历迭代法
原题链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ 二叉树中序遍历迭代法,栈实现 vector<int> ...
- C++ morris inorder二叉树中序遍历(附完整源码)
C++ morris inorder二叉树中序遍历 morris inorder二叉树中序遍历算法的完整源码(定义,实现,main函数测试) morris inorder二叉树中序遍历算法的完整源码( ...
- 初始序列为1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为
初始序列为1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为:() 8 3 2 5 1 6 4 7 3 2 8 5 1 4 6 7 3 8 2 5 ...
- 【LeetCode 剑指offer刷题】树题19:8 二叉树中序遍历的下一个结点
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 8 二叉树中序遍历的下一个结点 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注 ...
- 华为机试:二叉树中序遍历
题目来源 华为机试:二叉树中序遍历 题目描述 题目解析 思路 class Solution{struct TreeNode{char ch;TreeNode *left;TreeNode *right ...
最新文章
- request.getRemoteAddr()和request.getRemoteHost()
- Linux下把目录拷贝到全部同名目录的脚本
- android 自定义属性步骤
- leetcode算法题--最多的不重叠子字符串★★
- Java 反射机制学习资料
- mybatis_SQL映射(1)
- 划分VLAN,以及VLAN间通信
- 大数据怎样帮助运维工程师实现无死角监控?
- uva 1463 - Largest Empty Circle on a Segment(二分+三分+几何)
- 语音识别在生活中的七个经典应用
- 苹果手机java设置_苹果java文件怎么打开?苹果手机安装JAVA程序的方法
- SPH(光滑粒子流体动力学)流体模拟实现五:PCISPH
- 【服务器】揭秘淘宝286亿海量图片存储与处理架构
- 朴实无华!注意力机制神经网络解析
- 利用PHP的特性做免杀Webshell
- 微信小程序:用户头像的更改与保存
- jQueryUI皮肤下载、jQgrid中更换皮肤
- 文件下载(解决中文文件名下载乱码问题)(二)
- web2.0带来的狂潮
- 小程序 cover-view 字体_可升降、护眼、高清的明基PD2500Q显示器解决了程序猿99%的烦恼...
热门文章
- sh脚本文件使用mysqldump备份与恢复,恢复views、function、procedure时踩坑与解决
- C# SqlCommand 数据库连接操作
- 对iPhoneX的一些思考
- Windows下搭建Mysql集群
- 网易如何服务器物品叠加,网易buff怎么把物品放到buff背包 | 手游网游页游攻略大全...
- 基于JAVA的高校教务管理系统
- TextView设置一行最多显示5个字是什么属性
- max函数与min函数(数的大小比较)
- Apowersoft 2.7.8 Mac破解版
- matlab将多张tif文件合成为一张tif
思路: 把中序遍历分为一个有三个阶段的循环,左子节点入栈,没有右子节点出栈, 有右子节点则出栈并且右子节点入栈. 代码: 二叉树节点定义如下 class TreeNode:def __init__(s ...
迭代法遍历二叉树:左根右 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left ...
由于本人基础较差,所以针对部分题型做一个记录,以免自己忘记 1.二叉树中序遍历 这个遍历方法可以搜一下博客上很多讲解,这里主要是记录一下代码实现,以下面的二叉树为例子 结果应该是 2.迭代法 2.1 ...
python数据结构与算法练习-二叉树中序遍历 二叉树中序遍历 思路 python实现 二叉树中序遍历 链接: link. 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 样例 输入:ro ...
原题链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ 二叉树中序遍历迭代法,栈实现 vector<int> ...
C++ morris inorder二叉树中序遍历 morris inorder二叉树中序遍历算法的完整源码(定义,实现,main函数测试) morris inorder二叉树中序遍历算法的完整源码( ...
初始序列为1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为:() 8 3 2 5 1 6 4 7 3 2 8 5 1 4 6 7 3 8 2 5 ...
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 8 二叉树中序遍历的下一个结点 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注 ...
题目来源 华为机试:二叉树中序遍历 题目描述 题目解析 思路 class Solution{struct TreeNode{char ch;TreeNode *left;TreeNode *right ...