public static boolean isNormal(int[] nums,int[] output)
{
if(nums==null||output==null||nums.length!=output.length) return false;
LinkedList<Integer> stack=new LinkedList<Integer>();
int pos=0;
for(int i=0;i<output.length;i++)
{
boolean isFound=false;
if(!stack.isEmpty())
{
if(stack.peek()==output[i])
{
stack.pop();
isFound=true;
continue;
}
}
for(int j=pos;j<output.length;j++)
{
pos++;
if(nums[j]==output[i])
{
isFound=true;
break;
}
else
{
stack.push(nums[j]);
}
}
if(!isFound)
{
return false;
}
}
return true;
}
给定一个入栈顺序和一个出栈顺序,判断出栈顺序是否可能
最新推荐文章于 2022-11-04 15:54:43 发布