python中怎样实现二叉树展开为链表
发表于:2024-10-03 作者:千家信息网编辑
千家信息网最后更新 2024年10月03日,这篇文章给大家介绍怎样实现二叉树展开为链表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。二叉树展开为链表1,问题简述给定一个二叉树,原地将它展开为一个单链表。2,示例简述例如,给
千家信息网最后更新 2024年10月03日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安全错误
数据库的锁怎样保障安全
宝信软件开发系统
软件开发需要什么证书
本地服务器忘记管理员密码
福建省信息网络安全
贵州软件开发外包价格
东莞酷吧网络技术有限公司
易语言数据库查找问题
网络安全服务有什么特点
ibm 发明数据库软件
陕西省国家网络安全活动
千丁互联网科技有限公司
德惠正规网络技术咨询诚信合作
数据库怎样连接另外数据库
有关小朋友网络安全的视频
地质信息元数据库
河北大规模软件开发经历
网络应用工程师和网络安全工程师
计算机网络安全工具大全
河北邯郸网络安全技能竞赛
计算机三级网络技术 讲义
服务器开机显示内存不足
服务器如何配置管理口
国贸本科研究生网络安全
熟悉java软件开发工具
大公司网络安全管理
orceal数据库
万得数据库
地质信息元数据库
南海农商行软件开发
电脑服务器主机改装