二叉树两个结点的最短路径
创作时间:
作者:
@小白创作中心
二叉树两个结点的最短路径
引用
CSDN
1.
https://blog.csdn.net/puspos/article/details/104659112
本文讨论了二叉树中两个节点的最短路径问题,包括两种情况:一个节点是另一个节点的祖先或孩子,以及两个节点没有直接或间接的父子关系。文章还提供了计算节点到根节点距离的三种方法:深度遍历方法(前序遍历)、回溯法(在list中)和回溯法(直接在path_list中)。
1)node1是node2的祖先节点或孩子结点,可以理解为两个节点在一条线上。例如:Dist(2,4),Dist(6,1)
2)node1和node2没有直接或间接的父子关系。例如,Dist(4,3),他们需要一个共同的祖先结点1连接起来
假设lca是两个节点的最低公共祖先节点:leetcode 236
Dist(n1,n2)=Dist(root,n1)+Dist(root,n2)-2*Dist(root,lca)
求结点到根节点的距离
//深度遍历方法(前序遍历)
public void preOrder(TreeNode root, TreeNode node, int n) {
if(root==null || root==node) return;
preOrder(root.left,node,n+1);
preOrder(root.right,node,n+1);
}
//回溯法 在list中
public void getDistPath(TreeNode root, TreeNode node, List<TreeNode> path_list, List<List<TreeNode>> list) {
if(root==null) return ;
path_list.add(root);
if(root==node) {
list.add(new ArrayList<TreeNode>(path_list));
return ;
}else{
getDistPath(root.left, node, path_list);
getDistPath(root.right,node,path_list);
}
path_list.remove(path_list.size()-1);
}
//回溯法 直接在path_list中
public boolean getDistPath(TreeNode root, TreeNode node, List<TreeNode> path_list) {
if(root==null) return false;
path_list.add(root);
if(root==node) return true;
boolean found=false;
//先去左子树找
found=getDistPath(root.left, node, path_list);
//左子树找不到去右子树找
if(!found) found=getDistPath(root.right,node,path_list);
//左右都找不到,弹出栈顶元素
if(!found) path_list.remove(path_list.size()-1);
return found;
}
热门推荐
镇静催眠药乙酰天麻素片:作用机理与安全用药指南
红白黄三线连接教程:轻松打造家庭影院
有线电视故障频发?这些实用解决方案帮你轻松应对
邬贺铨:6G要关注大众需求,AI应用需理性推进
剑门关豆腐宴:跨越千年的美味传奇
中医教你如何通过饮食调理改善体质
免疫力提升:中医教你阴阳平衡
学生驾考考驾照科目一知识点汇总(假期驾考科目一知识点整理)
8月驾照新规定学时 驾校学车学时要求是怎样的?
留学生在美国如何申请驾照的全面指南
怎样有效缓解头痛症状
10款口碑品牌+5款精选产品,儿童生理盐水喷鼻剂完全指南
告别鼻腔不适:海盐水鼻腔喷雾的功效与使用全解析
企业管理领域中如何使用5S管理方法?真能提升现场运营能力吗?
中国发布世界首款6G芯片,实现通信技术从“并跑”到“领跑”
6G时代即将到来:比5G快百倍,将重塑智慧城市与医疗
富含6大营养成分,自制酸奶助力身体健康
复旦专家解读:老年人秋冬季节呼吸道感染防治指南
北京至巴马自驾攻略:2400公里冬季跨域之旅
河南六大景区瀑布壮观,学生等群体可免票游览
粤垦绿苑复活:烂尾楼的投资机遇与风险
珠海华融时代广场:一座城市的伤疤
冬季必备:电热毯质检报告解读
南京消防实验揭示:电热毯这样用最危险
冬季电热毯使用攻略:让你暖得科学又安心
你家的电热毯安全吗?
杭州钱塘高铁枢纽全面开建,将成东部重要交通新选择
上海新建金山奉贤两座高铁站,长三角交通互联再升级
牛里脊、牛肩肉、牛腱子肉,谁才是餐桌上的王者?
父母离世后的亲情维系:从案例看沟通与包容