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;

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

这是为什么??

相关内容

热门资讯

黑科技辅助!we-poker辅... 黑科技辅助!we-poker辅助软件演示,(wepoke好友房)先前真的是有挂,wpk教程(确实有挂...
发现一款!wepoker可以开... 【福星临门,好运相随】;发现一款!wepoker可以开透视,werplan外卦神器,揭秘教程(有挂攻...
盘点十款!红龙扑克辅助器(红龙... 盘点十款!红龙扑克辅助器(红龙扑克辅助器)往昔真的有挂(2026已更新)(哔哩哔哩),红龙扑克辅助器...
重磅来袭(WPK新版)wpk外... 重磅来袭(WPK新版)wpk外挂是真的还是假的(WpK)原生存在有挂(2020已更新)(哔哩哔哩)是...
黑科技辅助!wepoke软件透... 黑科技辅助!wepoke软件透明是真的,(Wepoke实测)往昔是真的有挂,攻略教程(有挂秘笈)-哔...
一起来探讨!德普辅助器可以用,... 一起来探讨!德普辅助器可以用,wepokerplus到底是挂了,透明教程(真实有挂)-哔哩哔哩相信很...
黑科技辅助(Wepoke存在)... 您好,Wepoke存在这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
重要通知!wepoke 软件(... 重要通知!wepoke 软件(WePoKe挂真的)从前有挂技术(2024已更新)(哔哩哔哩);AI辅...
黑科技辅助!扑克王辅助工具,(... 黑科技辅助!扑克王辅助工具,(扑克世界)都是是有挂,揭秘攻略(有挂存在)-哔哩哔哩;黑科技辅助!扑克...
实测发现!约局吧开挂神器是真的... 实测发现!约局吧开挂神器是真的,hhpoker有作弊辅助,力荐教程(有挂功能)-哔哩哔哩;1.约局吧...