LeetCode 1441 用栈操作构建数组[双指针] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1441 用栈操作构建数组[双指针] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。


解题思路:
非常简单的一道双指针问题,定义两个指针分别指向target数组和有序n数组中的下标,如果对应相等,向res数组中加入push,不相等,target数组指针不动,向res数组中加入push和pop,target数组指针到头,break,返回res即可,代码如下:

class Solution 
public:
    vector<string> buildArray(vector<int>& target, int n) 
        vector<string> res;
        int index = 0;
        int len = target.size();
        for(int i = 1; i <= n; i ++) 
            if(target[index] == i) 
                res.emplace_back("Push");
                index ++;
             else 
                res.emplace_back("Push");
                res.emplace_back("Pop");
            
            if(index == len) break;
        
        return res;
    
;

以上是关于LeetCode 1441 用栈操作构建数组[双指针] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

每日一题1441. 用栈操作构建数组

LeetCode(Weekly Contest 188)题解

LeetCode(Weekly Contest 188)题解

10.18--一下午连肝20道leetcode题(纯C实现)

leetcode-5404-用栈操作数组

leetcode-5404-用栈操作数组