python中怎样实现二叉树展开为链表
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,这篇文章给大家介绍怎样实现二叉树展开为链表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。二叉树展开为链表1,问题简述给定一个二叉树,原地将它展开为一个单链表。2,示例简述例如,给
千家信息网最后更新 2025年02月08日python中怎样实现二叉树展开为链表
这篇文章给大家介绍怎样实现二叉树展开为链表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
二叉树展开为链表
1,问题简述
给定一个二叉树,原地将它展开为一个单链表。
2,示例简述
例如,给定二叉树
1
/ \
2 5
/ \ \
3 4 6
将其展开为:
1
\
2
\
3
\
4
\
5
\
6
3,题解思路
重新构建一下二叉树
4,题解程序
import java.util.LinkedList;
import java.util.List;
public class FlattenTest2 {
public static void main(String[] args) {
TreeNode t1 = new TreeNode(1);
TreeNode t2 = new TreeNode(2);
TreeNode t3 = new TreeNode(5);
TreeNode t4 = new TreeNode(3);
TreeNode t5 = new TreeNode(4);
TreeNode t6 = new TreeNode(6);
t1.left = t2;
t1.right = t3;
t2.left = t4;
t2.right = t5;
t3.right = t6;
flatten(t1);
System.out.println("t1 = " + t1);
}
public static void flatten(TreeNode root) {
if (root == null) {
return;
}
LinkedList list = new LinkedList<>();
dfs(root, list);
TreeNode head = list.removeFirst();
head.left = null;
while (list.size() > 0) {
TreeNode tempNode = list.removeFirst();
tempNode.left = null;
head.right = tempNode;
head = head.right;
}
}
private static void dfs(TreeNode root, List list) {
if (root == null) {
return;
}
list.add(root);
if (root.left != null) {
dfs(root.left, list);
}
if (root.right != null) {
dfs(root.right, list);
}
}
}
关于怎样实现二叉树展开为链表就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
内容
更多
题解
帮助
不错
兴趣
原地
小伙
小伙伴
思路
文章
知识
示例
程序
篇文章
问题
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库技术教程课后答案
杜绝危害网络安全事件的发生
代理服务器 怎么使用
网络安全置换密码
华为软件开发协议
移动软件开发语言
无法作为数据库主题执行
政法大学网络安全专业就业
软件开发大学生的目标
科技改变生活互联网大会
429首都网络安全宣传日
搭建能上传文件的web服务器
用友连接不到数据库
网络安全协议禁用了怎么打开
数据库 简单调度
安徽同徽网络技术信息
软件公司软件开发服务费怎样摊销
服务器挂怎样挂q
服务器pcb厂商标志
服务器渲染是什么
机架式服务器有3u吗
数据库需求分析技术
年度网络安全培训计划学校
大足应用软件开发
河南软件开发培训哪个最好
合肥风雨兼程软件开发有限公司
手机软件开发教程那里学
网络安全技能大赛通报
游戏工作室服务器管理器
软件开发辅助系统领域模型