1441.用栈操作构建数组
ts
function buildArray(target: number[], n: number): string[] {
const stack: number[] = []
const actionStack: string[] = []
for (let i = 1; i <= n; i++) {
// 先入栈
stack.push(i)
actionStack.push('Push')
// 看入栈索引位置 stack 的值与 target 的值作对比,如果不相等则出栈
const index = stack.length - 1
if (stack[index] !== target[index]) {
stack.pop()
actionStack.push('Pop')
}
// 如果 stack 的元素数量与 target 的元素数量相等,则表明 stack 与 target 相等,构造数组完成
if (stack.length === target.length) {
break
}
}
return actionStack
}