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;

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

这是为什么??

相关内容

热门资讯

六方针!海贝之城辅助软甲下载,... 六方针!海贝之城辅助软甲下载,新道游房间(有挂开挂辅助脚本);无需打开直接搜索加(薇:1367043...
透视游戏!wepoker有透视... 透视游戏!wepoker有透视功能吗,新海贝之城辅助,解说技巧(有挂开挂辅助工具)1、下载安装好we...
记者揭秘!四川游戏家园辅助软件... 您好:四川游戏家园辅助软件合法吗这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很...
第九刹那精通!顺欣茶坊辅助器最... 第九刹那精通!顺欣茶坊辅助器最新版在哪,四川家园茶馆辅助(有挂开挂辅助安装);无需打开直接搜索加(薇...
第6方针!新天道透视辅助,微乐... 第6方针!新天道透视辅助,微乐小程序辅助器脚本(有挂开挂辅助插件);无需打开直接搜索薇:136704...
透明私人局!德州局脚本,微乐自... 您好:微乐自建房辅助入口官网这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用...
盘点一款!乐乐围棋入门插件,微... 盘点一款!乐乐围棋入门插件,微信小程序微乐辅助器教程(有挂开挂辅助神器)1、下载安装好微信小程序微乐...
第5阶段理解!广东雀神挂机怎么... 第5阶段理解!广东雀神挂机怎么样,熊猫免费脚本辅助工具(有挂开挂辅助脚本);无需打开直接搜索薇:13...
透视透明挂!随意玩辅助器视频有... 透视透明挂!随意玩辅助器视频有挂,wepoker模拟器哪个好用,透视教程(有挂开挂辅助器);无需打开...
第1窍要!雀神挂件价格,微乐小... 第1窍要!雀神挂件价格,微乐小程序黑科技app入口(有挂开挂辅助工具);无需打开直接搜索薇:1367...