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;

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

这是为什么??

相关内容

热门资讯

解谜透视!有哪些免费的wpk作... 解谜透视!有哪些免费的wpk作比弊码,wpk辅助器,真是存在有辅助方法(哔哩哔哩)该软件可以轻松地帮...
详情透视!hhpoker是真的... 详情透视!hhpoker是真的假的,hhpoker视频巡查真的假的,本来存在有辅助方法(哔哩哔哩)1...
此事迅速冲上热搜!闲逸辅助脚本... 此事迅速冲上热搜!闲逸辅助脚本,九哥玩辅助软件安装(一直真的有软件)-哔哩哔哩1、九哥玩辅助软件安装...
经核实!掌酷十三张辅助器脚本,... 经核实!掌酷十三张辅助器脚本,土豪辅助(都是是有神器)-哔哩哔哩1、许多玩家不知道掌酷十三张辅助器脚...
解谜透视!购买的wpk辅助在哪... 解谜透视!购买的wpk辅助在哪里下载,wpk透视辅助靠谱吗,总是是有辅助技巧(哔哩哔哩)一、可以开透...
今天下午!广西友乐解码器下载安... 今天下午!广西友乐解码器下载安装,老友广东麻将有挂吗(果然有挂软件)-哔哩哔哩一、广西友乐解码器下载...
辅助透视!WePOker有没有... 辅助透视!WePOker有没有透视方法,wepoker有没有机器人,一直是有辅助app(哔哩哔哩)1...
迎来新发展!四川麻将血战智能辅... 迎来新发展!四川麻将血战智能辅助,途游手游辅助(果然有挂挂)-哔哩哔哩1、点击下载安装,四川麻将血战...
分享透视!wepoker代打辅... 分享透视!wepoker代打辅助,wepokerplus到底是挂了吗,一贯是有辅助教程(哔哩哔哩)1...
事发当天!胡乐胡乐辅助脚本可靠... 事发当天!胡乐胡乐辅助脚本可靠吗,微信小程序微乐辅助器免费下载(原来是真的安装)-哔哩哔哩1、微信小...