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;

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

这是为什么??

相关内容

热门资讯

必看辅助!新九哥辅助,乐酷辅助... 乐酷辅助图片 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1、软...
太夸张了!关春天开挂,购买的w... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
关于辅助!新西游辅助器,拱趴大... 大家好,今天小编来为大家解答拱趴大菠萝挂哪里这个问题咨询软件客服可以免费测试直接加微信(136704...
太嚣张了!打哈儿床将脚本哪里下... 【亲,打哈儿床将脚本哪里下 这款游戏可以开挂的,确实是有挂的,很多玩家在这款打哈儿床将脚本哪里下中打...
曝光开挂!新海贝之城脚本,小程... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
太离谱了!福建天天开心万能辅助... 太离谱了!福建天天开心万能辅助,wepoker透视功能下载(透视)开挂辅助下载(有挂技巧)福建天天开...
细节开挂!天蝎大厅辅助,pok... 细节开挂!天蝎大厅辅助,pokemmo手机版脚本(必备攻略开挂辅助软件)>>您好:软件加薇13670...
太坑了!决战加血辅助,德州真人... 太坑了!决战加血辅助,德州真人透视脚本(透视)开挂辅助安装(有挂总结)1、下载安装好决战加血辅助,进...
正版开挂!广东雀神祈福辅助器,... 正版开挂!广东雀神祈福辅助器,微信微乐有挂没有(交流学习经验开挂辅助安装)您好:广东雀神祈福辅助器这...
太嚣张了!亿游十三道脚本插件,... 亿游十三道脚本插件是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我...