runtime error: member access within null pointer of type 'TreeNode'
runtime error: member access within null pointer of type 'TreeNode'
这是一道 leetcode 题,我必须找出二叉树的右侧视图;
代码如下
错误:第 22 行:字符 37:运行时错误:'TreeNode' 类型的空指针内的成员访问;
(solution.CPP)
我无法确定我在哪种情况下尝试访问 NULL
的成员
class Solution {
public:
vector<int> rightSideView(TreeNode* root) {
vector<int> v;
queue<TreeNode*> q;
q.push(root);
while(!q.empty()){
int count = q.size();
for(int i=count;i>0;i--){
if(i==1){
v.push_back(q.front()->val);//getting error in this line
}
if(q.front()->left){
q.push(q.front()->left);
}
if(q.front()->right){
q.push(q.front()->right);
}
q.pop();
}
}
return v;
}
};
我认为在这个问题中root
也可以为null,所以当root
为null时它会给出这个错误。我觉得是这样的。
使用这个
class Solution {
public:
vector<int> rightSideView(TreeNode* root) {
vector<int> v;
if(root == null) return v;
queue<TreeNode*> q;
q.push(root);
while(!q.empty()){
int count = q.size();
for(int i=count;i>0;i--){
if(i==1){
v.push_back(q.front()->val);//getting error in this line
}
if(q.front()->left){
q.push(q.front()->left);
}
if(q.front()->right){
q.push(q.front()->right);
}
q.pop();
}
}
return v;
}
};
这是一道 leetcode 题,我必须找出二叉树的右侧视图;
代码如下
错误:第 22 行:字符 37:运行时错误:'TreeNode' 类型的空指针内的成员访问; (solution.CPP)
我无法确定我在哪种情况下尝试访问 NULL
的成员class Solution {
public:
vector<int> rightSideView(TreeNode* root) {
vector<int> v;
queue<TreeNode*> q;
q.push(root);
while(!q.empty()){
int count = q.size();
for(int i=count;i>0;i--){
if(i==1){
v.push_back(q.front()->val);//getting error in this line
}
if(q.front()->left){
q.push(q.front()->left);
}
if(q.front()->right){
q.push(q.front()->right);
}
q.pop();
}
}
return v;
}
};
我认为在这个问题中root
也可以为null,所以当root
为null时它会给出这个错误。我觉得是这样的。
使用这个
class Solution {
public:
vector<int> rightSideView(TreeNode* root) {
vector<int> v;
if(root == null) return v;
queue<TreeNode*> q;
q.push(root);
while(!q.empty()){
int count = q.size();
for(int i=count;i>0;i--){
if(i==1){
v.push_back(q.front()->val);//getting error in this line
}
if(q.front()->left){
q.push(q.front()->left);
}
if(q.front()->right){
q.push(q.front()->right);
}
q.pop();
}
}
return v;
}
};