Mi función es una función recursiva para eliminar el elemento medio de una pila. La plataforma de codificación ya ha proporcionado su implementación de una pila, lo que significa que tengo acceso al método push() y pop().
Quiero hacer estallar () hasta que llegue al elemento medio y luego empujar los elementos reventados hacia atrás.
Sin embargo, si almaceno el pop, aparece como indefinido.
Si consuelo. registro la llamada emergente, devuelve indefinido.
class Solution { solve(s,midEle) { let self = this; if(midEle===1){ s.pop(); return; } let temp = s.pop(); self.solve(s,midEle-1); s.push(temp) return } //Function to delete middle element of a stack. deleteMid(s, sizeOfStack) { // code here const mid = Math.ceil((sizeOfStack+1)/2); this.solve(s,mid); } }Es porque no devuelves nada:
return; En javascript, el valor de nada no está undefined . Por lo tanto, el código anterior devuelve el valor undefined .
Para devolver el valor que extrajo de la matriz, simplemente devuélvalo:
var item = s.pop(); return item;o más simplemente:
return s.pop();