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;

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

这是为什么??

相关内容

热门资讯

太坑了!闲娱江西修改器,wep... 闲娱江西修改器开挂教程视频分享装挂详细步骤在当今的网络游戏中,闲娱江西修改器作为一种经典的娱乐方式,...
推荐开挂!随意玩聚乐部辅助,雀... 推荐开挂!随意玩聚乐部辅助,雀友会鱼虾蟹下载官网辅助器(推荐十款开挂辅助工具);亲,雀友会鱼虾蟹下载...
太实锤了!微信小程序微乐辅助器... 您好:这款微信小程序微乐辅助器教程游戏是可以开挂的,确实是有挂的,很多玩家在这款微信小程序微乐辅助器...
关于开挂!金虎爷有挂吗,wep... wepoker怎么发冤家牌开挂教程视频分享装挂详细步骤在当今的网络游戏中,wepoker怎么发冤家牌...
太夸张了!大唐撸麻雀辅助码,佛... 太夸张了!大唐撸麻雀辅助码,佛手在线有挂吗(透视)开挂辅助工具(有挂教程)您好:大唐撸麻雀辅助码这款...
科技辅助!创游世界辅助器,边锋... 边锋干瞪眼ios辅助微信 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理...
太夸张了!微信小程序微乐房间怎... 大家好,今天小编来为大家解答微信小程序微乐房间怎么开挂这个问题咨询软件客服可以免费测试直接加微信(1...
传授开挂!新天道联盟辅助器,竞... 【亲,竞技联盟辅助 这款游戏可以开挂的,确实是有挂的,很多玩家在这款竞技联盟辅助中打牌都会发现很多用...
太夸张了!花花生活圈辅助,德普... 太夸张了!花花生活圈辅助,德普之星有辅助软件吗(透视)开挂辅助插件(有挂规律) >>您好:软件加薇1...
细节辅助!神殿娱乐控制系统,欢... 细节辅助!神殿娱乐控制系统,欢乐卡五星辅助工具(揭秘一下开挂辅助下载)欢乐卡五星辅助工具ai黑科技系...