树
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 · 119 阅读 · 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 · 892 阅读 · 0 评论