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;

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

这是为什么??

相关内容

热门资讯

我来教大家(wpkai辅助)w... 我来教大家(wpkai辅助)wepoke辅助机器人(透视辅助)其实真的有挂我来教大家(wpkai辅助...
技术分享(德州ai辅助工具)a... 技术分享(德州ai辅助工具)aapoker辅助工具存在(透视)其实真的有挂;暗藏猫腻,小编详细说明a...
分享给玩家(wpk有没有作弊)... 分享给玩家(wpk有没有作弊)wepoke辅助挂(透视辅助)其实真的有挂;1、不需要AI权限,帮助你...
玩家亲测(众合推扑克辅助器)德... 玩家亲测(众合推扑克辅助器)德扑起手牌胜率图(透视)其实真的有挂;1、游戏颠覆性的策略玩法,独创攻略...
必看攻略(wepoke有辅助吗... 必看攻略(wepoke有辅助吗)智星德州菠萝外挂(透视辅助)其实真的有挂1、智星德州菠萝外挂系统规律...
热门推荐(aa扑克不能用模拟器... 热门推荐(aa扑克不能用模拟器)aapoker透视辅助(透视)其实真的有挂aapoker透视辅助是一...
来一盘(智星德州菠萝安全吗)a... 来一盘(智星德州菠萝安全吗)aapoker透明挂(透视)其实真的有挂;所有人都在同一条线上,像星星一...
技术分享(wpk德州透视辅助)... 技术分享(wpk德州透视辅助)wpk发牌逻辑(透视)原来真的有挂1、wpk德州透视辅助系统规律教程、...
我来分享(德州wpk到底有没有... 我来分享(德州wpk到底有没有外挂)德州之星有辅助挂(辅助)原来真的有挂1、玩家可以在德州之星有辅助...
重大发现(aapoker下载教... 重大发现(aapoker下载教程)德州之星插件(透明黑科技)其实真的有挂运德州之星插件辅助工具,进入...