leetcode 二叉树 空指针报错
创始人
2024-11-19 05:36:30
0

 222. 完全二叉树的节点个数

通过的代码:

/**  * Definition for a binary tree node.  * struct TreeNode {  *     int val;  *     TreeNode *left;  *     TreeNode *right;  *     TreeNode() : val(0), left(nullptr), right(nullptr) {}  *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}  *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}  * };  */ class Solution { public:     int geNum(TreeNode* cur){//确定递归函数参数和返回值         if(cur==nullptr) return 0;         //确定终止条件         int leftNum=0,rightNum=0;         TreeNode* left=cur->left;         TreeNode* right=cur->right;         while(left){             leftNum++;             left=left->left;         }         while(right){             rightNum++;             right=right->right;         }         if(leftNum==rightNum) return (2<left);         int rightTreeNum=geNum(cur->right);         int midTreeNum=leftTreeNum+rightTreeNum+1;          return midTreeNum;     }     int countNodes(TreeNode* root) {                   return geNum(root);     } };

未通过的代码:

/**  * Definition for a binary tree node.  * struct TreeNode {  *     int val;  *     TreeNode *left;  *     TreeNode *right;  *     TreeNode() : val(0), left(nullptr), right(nullptr) {}  *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}  *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}  * };  */ class Solution { public:     int geNum(TreeNode* cur){//确定递归函数参数和返回值         //if(cur==nullptr) return 0;         //确定终止条件         int leftNum=0,rightNum=0;         TreeNode* left=cur->left;         TreeNode* right=cur->right;         while(left){             leftNum++;             left=left->left;         }         while(right){             rightNum++;             right=right->right;         }         if(leftNum==rightNum) return (2<left);         int rightTreeNum=geNum(cur->right);         int midTreeNum=leftTreeNum+rightTreeNum+1;          return midTreeNum;     }     int countNodes(TreeNode* root) {         if(root==nullptr) return 0;          return geNum(root);     } };

问题:

在countNodes函数中添加的代码:

if(root==nullptr) return 0;

好像没有用似的,必须在递归函数中添加这行代码才不会报错。

这是为什么??

相关内容

热门资讯

总算了解(德州ai系统)真是有... 您好,德州ai系统这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款...
揭秘真相!佛手在线透视辅助器(... 揭秘真相!佛手在线透视辅助器(辅助挂)原来是有挂(有挂辅助)-哔哩哔哩;1、每一步都需要思考,不同水...
黑科技辅助(德扑之星可靠)外挂... 黑科技辅助(德扑之星可靠)外挂透明挂辅助挂(透视)从来存在有挂(2026已更新)(哔哩哔哩);德扑之...
热门推荐(Wepoke辅助ai... 热门推荐(Wepoke辅助ai)其实存在有挂(透视)固有真的是有挂(真的有挂)-哔哩哔哩;Wepok...
终于知道!传送屋激k辅助(辅助... 终于知道!传送屋激k辅助(辅助挂)果然真的是有挂(有挂方式)-哔哩哔哩;详细传送屋激k辅助攻略(传送...
黑科技辅助(cloudpoke... 黑科技辅助(cloudpoker辅助器)外挂透明挂辅助神器(透视)往昔有挂(2020已更新)(哔哩哔...
必看攻略(微扑克游戏)一直是有... 您好,微扑克游戏这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款游...
终于知道!中至九江游戏辅助器(... 终于知道!中至九江游戏辅助器(辅助挂)确实是真的有挂(果真有挂)-哔哩哔哩;1、点击下载安装,中至九...
重大消息(红龙扑克真假)切实存... 重大消息(红龙扑克真假)切实存在有挂(透视)本然有挂(确实有挂)-哔哩哔哩;1、红龙扑克真假ai辅助...
黑科技辅助(WPK脚本)外挂透... 黑科技辅助(WPK脚本)外挂透明挂辅助器(透视)素来是真的有挂(2022已更新)(哔哩哔哩);WPK...