怎么返回python二叉树的中序遍历
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,今天就跟大家聊聊有关怎么返回python二叉树的中序遍历,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.给定一个二叉树,返回它的中序 遍历。
千家信息网最后更新 2025年01月31日怎么返回python二叉树的中序遍历
今天就跟大家聊聊有关怎么返回python二叉树的中序遍历,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1.给定一个二叉树,返回它的中序 遍历。
2,示例
示例:
输入: [1,null,2,3]
1
\
2
/
3
输出: [1,3,2]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
3,题解思路
这里给出两种方式进行解决,一个是使用递归的方式进行解决,一个是使用迭代的方式进行
4,题解程序
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
public class InorderTraversalTest2 {
public static void main(String[] args) {
TreeNode t1 = new TreeNode(1);
TreeNode t2 = new TreeNode(2);
TreeNode t3 = new TreeNode(3);
t1.right = t2;
t2.left = t3;
List
list = inorderTraversal2(t1); System.out.println("list = " + list);
}
private static List
list = new ArrayList<>();
public static List
inorderTraversal(TreeNode root) { if (root == null) {
return list;
}
dfs(root);
return list;
}
private static void dfs(TreeNode root) {
if (root.left != null) {
dfs(root.left);
}
list.add(root.val);
if (root.right != null) {
dfs(root.right);
}
}
public static List
inorderTraversal2(TreeNode root) { if (root == null) {
return list;
}
Stack
stack = new Stack<>(); TreeNode tempNode = root;
while (!stack.isEmpty() || tempNode != null) {
while (tempNode != null) {
stack.push(tempNode);
tempNode = tempNode.left;
}
TreeNode temp = stack.pop();
list.add(temp.val);
tempNode = temp.right;
}
return list;
}
}
5,题解程序图片版
根据二叉树的特点进行来做就可以了,利用递归的方式比使用迭代的方式在时间消耗上快了很多,递归的使用时利用了系统栈的方式去写,迭代的方式是使用自己创建的栈结构进行。
看完上述内容,你们对怎么返回python二叉树的中序遍历有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
方式
递归
迭代
内容
题解
示例
程序
算法
可以通过
图片
思路
时间
更多
特点
知识
篇文章
系统
结构
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器装sata固态
仕航软件开发有限公司怎么样
梦幻西游蝴蝶泉服务器好不好
数据库算法与结构图
软件开发 薪酬设计
联想万全R520服务器不开机
http服务器 java
网络安全博士如何
网络安全知识周场招聘
软件定义网络和网络安全
盈佳科技有限公司干软件开发
计算机网络技术手册
web服务器不安全怎么办
崇明服务器回收热线
计算机网络技术结课报告单
光明与黑暗选择服务器时进不去
公司软件开发部门
无锡品牌软件开发活动简介
免费服务器选哪个好
网络安全合格证申请报告
网络安全企业名单
软件开发学什么课程好
通达信哪个服务器最快
在家装服务器的好处
广州美赞软件开发科技有限公司
网络安全是通信
计算机系统 硬件 软件开发
金蝶凭证数据库说明
软件开发过程的七个阶段
惠普服务器管理员账户