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;

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

这是为什么??

相关内容

热门资讯

交流学习经验((闽游麻将))外... 交流学习经验((闽游麻将))外挂辅助代打,太夸张了原来确实真实是有挂(有挂透明挂)(哔哩哔哩)是一款...
重大推荐((小小长牌))外挂辅... 重大推荐((小小长牌))外挂辅助脚本,太离谱了原来确实是有挂(有挂实锤)(哔哩哔哩);1、让任何用户...
六分钟了解!德扑ai自定义设置... 六分钟了解!德扑ai自定义设置数据(WepOke)外挂透明挂辅助透视(2020已更新)(哔哩哔哩)是...
解密关于((和和麻将))外挂辅... 解密关于((和和麻将))外挂辅助插件,太过分了原来确实真的是有挂(有挂总结)(哔哩哔哩);和和麻将是...
玩家必看分享!德扑扑克(微扑克... 玩家必看分享!德扑扑克(微扑克专用)外挂透明挂辅助德州版!(透视)有挂爆料(2022已更新)(哔哩哔...
必备辅助推荐((宝宝吃吃吃))... 必备辅助推荐((宝宝吃吃吃))外挂辅助脚本,太离谱了原来一直都是有挂(有挂秘籍)(哔哩哔哩);宝宝吃...
五分钟了解!德州游戏辅助器(W... 五分钟了解!德州游戏辅助器(Wepoke网页版)外挂透明挂辅助代打(2022已更新)(哔哩哔哩);致...
一分钟了解((名途))外挂辅助... 一分钟了解((名途))外挂辅助插件,太过分了原来确实是有挂(有挂秘笈)(哔哩哔哩);小薇(透视辅助)...
5分钟实测!天天爱掼蛋辅助软件... 5分钟实测!天天爱掼蛋辅助软件(辅助挂)中至景德镇辅助(2020已更新)(哔哩哔哩)是一款可以让一直...
七分钟了解!微扑克(WPK私人... 七分钟了解!微扑克(WPK私人房)外挂透明挂辅助测试!(透视)有挂同胞(2022已更新)(哔哩哔哩)...