二叉树两个结点的最短路径
创作时间:
作者:
@小白创作中心
二叉树两个结点的最短路径
引用
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;
}
热门推荐
指定收款人委托书(精选7篇)
Mac电脑与Windows电脑(探索两种操作系统的不同特点和适用场景)
对呼吸道“友好”的维生素,你知道是哪两种吗?
“恶女”姐妹花暗斗,法律如何解开《乔妍的心事》?
普通人与军婚罪:法律解析及责任认定
白血病患者一日三餐食谱及护理要点
民航招飞身体要求2025(体检标准+视力要求)
2025年成人高考报考时间、报名流程及考试科目介绍!一文了解清楚
事关随迁子女2025年小学入转学,附天津市内三区登记办法!
圣杯一正位:深入解读其象征意义
偶尔通宵熬夜是否会影响身高增长
揭开统计分析的秘密:独立样本和配对样本T检验实战案例
最新的AMD显卡天梯图解析:性能对比与选购指南
在上海身份证到期换领需要什么证件?
竹柏种子繁殖方法和注意事项
紫苏食用须知:哪些人应该慎用?
得了肺炎要马上吃抗生素?冷冻馒头不能吃?2024年11月科学领域流言榜来了
计算机应用技术属于什么类专业?适合哪些人学习?
珍珠市场调查:“月入千万”神话降温之后市场进入洗牌阶段
朱元璋修建功臣庙,生者虚位,逝者塑像——徐达位列第一
揭秘娱乐圈艺人拍戏签署的合同内容
揭秘隐藏的健康主食:青稞,助力控糖降脂,多数人未曾品尝
探索变压器油滤油机的工作原理与技术优势
Web环境中的IP访问限制:从防火墙到应用层过滤器的全方位防护
什么是隆中对?隆中对中最核心的内容是什么?
大数据技术学什么?从基础理论到实战应用的全面解析
崩坏三同人小说:普罗米修斯与律者核心的对决
吃血脂康和吃他汀一样吗?它的3大优点和2个不足,一文说清
纵横衔接 多网融合!轨道交通助力贵阳花溪构建新型立体交通网
一文读懂网线屏蔽与非屏蔽的优缺点