力扣222 代码随想录Day15 第四题

完全二叉树结点的数量

cpp 复制代码
class Solution {
public:
    int countNodes(TreeNode* root) {
        if(root==NULL) return 0;
        TreeNode* le=root->left;
        TreeNode* ri=root->right;
        int ld=0;
        int rd=0;
        while(le){
            le=le->left;
            ld++;
        }
        while(ri){
            ri=ri->right;
            rd++;
        }
        if(ld==rd) return(2<<ld)-1;
        int ln=countNodes(root->left);
        int rn=countNodes(root->right);
        int result=ln+rn+1;
        return result;
    }
};
相关推荐
仍然.18 分钟前
算法题目---BFS解决最短路问题
算法·宽度优先
渡众机器人19 分钟前
第八届全球校园人工智能算法精英大赛-算法应用赛-空地协同侦排挑战赛规则
人工智能·算法
wayz1131 分钟前
Overlap:HWMA(Holt-Winter移动平均线)技术指标详解
算法·金融·数据分析·量化交易·特征工程
Shadow(⊙o⊙)1 小时前
专题四:前缀和
数据结构·算法
JAVA面经实录9171 小时前
高频算法面试题
java·计算机网络·算法·面试
qq_452396231 小时前
第十一篇:《资源管理:Requests/Limits、ResourceQuota、LimitRange》
算法·贪心算法
Tisfy1 小时前
LeetCode 2095.删除链表的中间节点:两次遍历 / 一次遍历(快慢指针)
算法·leetcode·链表·题解·双指针
Irissgwe1 小时前
AVL树详解
数据结构·c++·算法·二叉树·c·二叉搜索树·avl
凌波粒1 小时前
LeetCode--131.分割回文串(回溯算法)
算法·leetcode·职场和发展
北域码匠2 小时前
奇偶归并排序:并行计算的排序利器
数据结构·算法·c#·排序算法