Juicio de apilar en orden de apilamiento

Título Descripción
Ingrese dos secuencias enteras. La primera secuencia representa la secuencia de apilamiento. Por favor, determine si la segunda secuencia puede ser la secuencia emergente de la pila. Suponga que todos los números introducidos en la pila no son iguales. Por ejemplo, la secuencia 1,2,3,4,5 es la secuencia de inserción de una pila, la secuencia 4,5,3,2,1 es una secuencia emergente correspondiente a la secuencia de la pila, pero 4,3,5,1,2 No puede ser la secuencia pop de la secuencia de inserción. (Nota: las longitudes de las dos secuencias son iguales)

在这里插入代码片
public boolean IsPopOrder(int [] u,int [] p) {
		if(u==null||p==null)
			return false;
	      Stack<Integer>a=new Stack<Integer>();
	      int j=0;
	      for(int i=0;i<u.length;i++)
	      {
	    	  a.push(u[i]);
	    	  while(j<p.length&&a.peek()==p[j])
	    	  {
	    		  a.pop();
	    		  j++;
	    	  }
	      }
	      return a.empty();
    }
Publicado 167 artículos originales · Me gusta 16 · Visitas 30,000+

Supongo que te gusta

Origin blog.csdn.net/feiqipengcheng/article/details/105465554
Recomendado
Clasificación