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;

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

这是为什么??

相关内容

热门资讯

黑科技辅助(wepoke真的有... 黑科技辅助(wepoke真的有挂)wopoker辅助器ios(透视)爆料教程(2021已更新)(哔哩...
一分钟揭秘“钱塘十水三攻略”太... 一分钟揭秘“钱塘十水三攻略”太无语了透视辅助开挂2025新版教程-竟然有挂1、任何钱塘十水三攻略ai...
黑科技私人局!aa扑克有外挂吗... 黑科技私人局!aa扑克有外挂吗(透视)太夸张了好像存在有挂(2024已更新)(哔哩哔哩)1、任何aa...
透视软件“wepoker公共底... 透视软件“wepoker公共底牌”详细透视辅助开挂教你教程-真是真的有挂;1、wepoker公共底牌...
黑科技辅助(wepoke智能a... 黑科技辅助(wepoke智能ai)微扑克必胜技巧(透视)切实教程(2024已更新)(哔哩哔哩)是一款...
黑科技脚本!红龙扑克是真正规的... 黑科技脚本!红龙扑克是真正规的吗(黑科技ai)太嚣张了都是是有挂(2025已更新)(哔哩哔哩)1、构...
必知教程“潮汕掌手娱辅助器”太... 必知教程“潮汕掌手娱辅助器”太无语了透视辅助开挂2025版教程-原来真的是有挂1、潮汕掌手娱辅助器a...
黑科技美元局!wpk发牌(ai... 黑科技美元局!wpk发牌(ai辅助)太坑了其实真的有挂(2025已更新)(哔哩哔哩)运wpk发牌辅助...
透视ai“德州透视竞技联盟”详... 透视ai“德州透视竞技联盟”详细透视辅助开挂解密教程-果然有挂德州透视竞技联盟软件透明挂微扑克wpk...
黑科技辅助(wepoke黑科技... 黑科技辅助(wepoke黑科技)德扑人工智能(透视)科技教程(2025已更新)(哔哩哔哩)1、完成w...