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/

posted @ 2021-10-15 14:25  振袖秋枫问红叶  阅读(31)  评论(0)    收藏  举报