顺手牵羊(LeetCode844.)

简介: 好多同学说这是双指针法,但是我认为叫它顺手牵羊法更合适

好多同学说这是双指针法,但是我认为叫它顺手牵羊法更合适😉

妙!


原题链接: 844. 比较含退格的字符串 - 力扣(LeetCode)

注意里面的

s++ s-- i--操作

image.png

class Solution {
public:
    bool backspaceCompare(string S, string T) {
        int s = 0; // 记录S的#数量
        int t = 0; // 记录T的#数量
        int i = S.size() - 1;
        int j = T.size() - 1;
        while (1) 
        {
            while (i >= 0)  // 从后向前,消除S的#
            {
                if (S[i] == '#') s++;
                else 
                {
                    if (s > 0) s--;
                    else break;//没有#了,直接跳出
                }
                i--;   //这里顺便i--了
            }
            while (j >= 0) // 从后向前,消除T的#
            { 
                if (T[j] == '#') tSkipNum++;
                else
                {
                    if (t > 0) tSkipNum--;
                    else break; 
                }
                j--;   //这里顺便j--了
            }
            if (i < 0 || j < 0) break; 
            if (S[i] != T[j])
            { 
                return false; 
            }
            i--;j--;   //接着往前遍历
        }
        // 说明S和T同时遍历完毕
        if (i == -1 && j == -1)//细节 -1
        {
             return true;
        }
        return false;
    }
};
相关文章
|
5月前
leetcode-827:最大人工岛
leetcode-827:最大人工岛
58 0
|
5月前
leetcode-475:供暖器
leetcode-475:供暖器
44 0
|
5月前
leetcode-1219:黄金矿工
leetcode-1219:黄金矿工
75 0
|
5月前
|
消息中间件 Kubernetes NoSQL
LeetCode 3、28、1351
LeetCode 3、28、1351
|
测试技术
一和零(LeetCode-474)
一和零(LeetCode-474)
134 0
一和零(LeetCode-474)
|
算法 Java
一和零(LeetCode 474)
一和零(LeetCode 474)
93 0
|
机器学习/深度学习
leetcode第50题
求幂次方,用最简单的想法,就是写一个 for 循环累乘。 至于求负幂次方,比如 2^{-10}2−10,可以先求出 2^{10}210,然后取倒数,1/2^{10}1/210 ,就可以了 double mul = 1; if (n > 0) { for (int i = 0; i < n; i++) { mul *= x; } } else { n = -n; for (int i = 0; i < n; i++) { mul *= x; } mul = 1 / mul; }
leetcode第50题
|
算法
leetcode第45题
时间复杂度:O(n)。 空间复杂度:O(1)。 这里要注意一个细节,就是 for 循环中,i < nums.length - 1,少了末尾。因为开始的时候边界是第 0 个位置,steps 已经加 1 了。如下图,如果最后一步刚好跳到了末尾,此时 steps 其实不用加 1 了。如果是 i < nums.length,i 遍历到最后的时候,会进入 if 语句中,steps 会多加 1 。
101 0
leetcode第45题