博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法-树-二叉树的最近公共祖先
阅读量:3963 次
发布时间:2019-05-24

本文共 829 字,大约阅读时间需要 2 分钟。

在这里插入图片描述

在这里插入图片描述

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
//首先p q肯定是树的节点 所以root肯定不为空 //这里的root可以是从任意节点来看,root == null就直接返回null 如果root == p或q 说明自己就是祖先 直接返回当前节点 if(root==null||root==p||root==q) return root; //返回左子树的公共节点 TreeNode left=lowestCommonAncestor(root.left,p,q); //返回右子树的公共节点 TreeNode right=lowestCommonAncestor(root.right,p,q); if(left==null) //左子树的公共节点为空 return right; //右子树的公共节点为空t; if(right==null) return left; //左一个节点 右一个节点 return root;//因为是先返回右 后返回左 最后返回根 自底向上 能保证最深 }}

转载地址:http://nmhzi.baihongyu.com/

你可能感兴趣的文章
[无线] 浅析当代 LBS 技术
查看>>
[杂感] 缅怀乔布斯
查看>>
[无线] 让Android支持cmwap上网
查看>>
[无线] AndroidManifest.xml配置文件详解
查看>>
[移动] Mosquitto简要教程(安装/使用/测试)
查看>>
[HTML5] 关于HTML5(WebGL)的那点事
查看>>
自我反思
查看>>
初识网络编程
查看>>
东北赛选拔教训
查看>>
hash
查看>>
涨姿势了:求两个分子的最大公倍数
查看>>
快速幂
查看>>
vector.reserve and resize &&vector与map结合
查看>>
最长公共子序列
查看>>
计算几何
查看>>
求解方程
查看>>
太弱了。。水题
查看>>
位运算(含应用)
查看>>
野指针与空指针
查看>>
图文混排效果
查看>>