![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
zfpp25_
iOS
展开
-
二叉树的最近公共祖先
一、算法方案 1、 如果结点 p、q 都存在且为左右结点,那么根结点 root 就是最近公共祖先; 2、 如果结点 p、q 都存在且都为左结点,那么在根结点 root 的左子树查找; 3、 如果结点 p、q 都存在且都为右结点,那么在根结点 root 的右子树查找。 二、代码实现 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left;原创 2020-09-15 14:46:47 · 107 阅读 · 0 评论 -
二叉树的深度
一、算法方案 考虑以下几种情况: 如果是空的二叉树,深度为0; 只有根节点,深度为1; 根节点只有左子树,深度为左子树的深度加1; 根节点只有右子树,深度为右子树的深度加1; 根节点既有左子树又有右子树,深度为取左右子树深度的最大者再加1。 二、代码实现 int maxDepth(struct TreeNode* root){ if (root == NULL) { return 0; } int lenLeft = maxDepth(root->l原创 2020-09-15 14:32:05 · 854 阅读 · 0 评论