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;

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

这是为什么??

相关内容

热门资讯

透视线上!智星菠萝可以辅助吗(... 透视线上!智星菠萝可以辅助吗(透视)外挂透明挂辅助安装(果然是真的有挂),支持语音通讯、好友开房及战...
透视有挂!德普之星透视辅助软件... 透视有挂!德普之星透视辅助软件下载(透视)AI教程(其实有挂)1、全新机制【德普之星透视辅助软件下载...
透视系统!聚星ai辅助工具激活... 透视系统!聚星ai辅助工具激活码,微乐透视辅助功能插件下载,安装教程(有挂细节);1)微乐透视辅助功...
透视辅助!wepoker透视脚... 透视辅助!wepoker透视脚本苹果(透视)外挂透明挂辅助app(都是有挂)关于wepoker透视脚...
透视最新!智星菠萝辅助怎么买(... 透视最新!智星菠萝辅助怎么买(透视)攻略教程(本来是真的有挂)1)智星菠萝辅助怎么买辅助挂:进一步探...
透视最新!pokemmo脚本辅... 透视最新!pokemmo脚本辅助器,728游戏修改器,教你攻略(有挂技巧)一、728游戏修改器软件透...
透视ai!红龙poker脚本(... 透视ai!红龙poker脚本(透视)外挂透明挂辅助插件(原生存在有挂);建议优先通过透明挂内置帮助文...
透视实锤!wepoker作弊辅... 透视实锤!wepoker作弊辅助(透视)黑科技教程(一直存在有挂)1、操作简单,无需注册,只需要使用...
透视辅助!德州来玩辅助器,雀神... 透视辅助!德州来玩辅助器,雀神广东麻将透视视频,2025版教程(有挂黑科技)1、雀神广东麻将透视视频...
透视数据!wepoker透视脚... 透视数据!wepoker透视脚本安卓(透视)外挂透明挂辅助机制(先前存在有挂);建议优先通过wepo...