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;

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

这是为什么??

相关内容

热门资讯

透视黑科技!wepoker破解... 透视黑科技!wepoker破解工具(透视)好像真的有挂(辅助教程);1、起透看视 wepoker破解...
透视游戏!德普之星有辅助软件吗... 透视游戏!德普之星有辅助软件吗,德普之星透视辅助软件是真的吗,解密教程(有挂解密)1、构建自己的微扑...
透视黑科技!wepoker辅助... 透视黑科技!wepoker辅助器免费(透视)都是是有挂(必胜教程)1、超多福利:超高返利,海量正版游...
透视科技!德普辅助软件,德普之... 透视科技!德普辅助软件,德普之星有辅助软件吗,2024新版技巧(有挂方法)是一款可以让一直输的玩家,...
透视实锤!wepoker作弊方... 透视实锤!wepoker作弊方法(透视)好像是真的有挂(黑科技教程);1、wepoker作弊方法ai...
透视游戏!德普之星透视免费,德... 透视游戏!德普之星透视免费,德扑圈透视,黑科技教程(有挂教程);透视游戏!德普之星透视免费,德扑圈透...
透视好友!wepoker透视底... 透视好友!wepoker透视底牌脚本(透视)一贯真的有挂(新2025教程)1、完成wepoker透视...
透视透视挂!德普之星私人局透视... 透视透视挂!德普之星私人局透视,德普之星辅助工具如何设置,揭秘教程(有挂工具)1、不需要AI权限,帮...
透视透视!wejoker辅助软... 透视透视!wejoker辅助软件视频(透视)确实是有挂(新版2025教程)一、wejoker辅助软件...
透视教学!德普之星透视免费,德... 透视教学!德普之星透视免费,德普之星透视辅助软件是真的吗,大神讲解(有挂辅助)您好,德普之星透视辅助...