python中怎样实现二叉树展开为链表
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章给大家介绍怎样实现二叉树展开为链表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。二叉树展开为链表1,问题简述给定一个二叉树,原地将它展开为一个单链表。2,示例简述例如,给
千家信息网最后更新 2024年11月23日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安全错误
数据库的锁怎样保障安全
数据库汇总sum语法
在哪里可以租韩国服务器
信息软件开发公司有哪些
崇明区软件开发大概费用
初级软件开发面试题
个人如何开展网络安全培训
婺城区软件开发费
河北2018网络安全试卷5
最高人民法院网络安全建设
软件开发的要不要专升本
全国网络安全测评师
杭州乐喔网络技术
h2数据库 性能
网站服务器哪里可以买到
ios付费软件开发
华为手机云服务器怎么选
外文文献查询数据库概况
安宁信息化软件开发报价表
智能收款助手连接服务器失败
嘉兴hpe刀片服务器哪家好
用手机可以管理服务器吗
搜索引擎的服务器有哪些
虚拟化和共享服务器有什么不同
网络安全员任命
百度公司网络安全宣讲
阳山县人民医院网络安全等级保护
网络安全硬件设备厂商
服务器远程管理口重启协议
皖南民宿软件开发
服务器图拉扬