1441. 用栈操作构建数组
import java.util.ArrayList;
import java.util.List;
class Solution {
public List<String> buildArray(int[] target, int n) {
List<String> list = new ArrayList<>();
for (int i = 0, num = 1; i < target.length; i++, num++) {
/**
* num从1开始顺序递增,如果和当前数组的元素不一样,说明这个元素被删了
*/
list.add("Push");
while (num != target[i]) {
list.add("Pop");
num++;
list.add("Push");
}
}
return list;
}
}
/**
* 时间复杂度 O(n)
* 空间复杂度 O(n)
*/
https://leetcode-cn.com/problems/build-an-array-with-stack-operations/