段错误,但IDE运行没问题

https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd?tpId=13&tqId=11176&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking -- 题目链接
提示说段错误,但是本地IDE上运行没有错误,大神帮忙看下。算法思想:挨个入栈,遇到比栈顶元素大的就将栈清空,出栈序列要是有序的则判定为true 否则false

代码:

class Solution {
public:
bool VerifySquenceOfBST(vector<int> sequence)
{
if(sequence.size()==0)
return true ;
vector<int> res ;
vector <int> stack ;
stack.push_back(sequence[0]) ;
for(int i=1 ;i<sequence.size ();++i)
{
if(  stack.back() <= sequence[i] )
{
while(stack.size()>0)
{
res.push_back( stack.back()) ;
stack.pop_back () ;
}
}
stack.push_back(sequence[i]) ;
}
for(int i=0 ;i<res.size()-1 ;++i)
if(res[i+1]<res[i])
return false ;
return true ;
}
};

全部评论
直接用stack啊,数组越界
点赞 回复 分享
发布于 2017-08-12 00:22

相关推荐

不愿透露姓名的神秘牛友
11-21 19:05
点赞 评论 收藏
分享
头像
11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务