美文网首页
对比两个string在退格操作后是否相同

对比两个string在退格操作后是否相同

作者: 浮安樊 | 来源:发表于2018-06-11 04:31 被阅读0次

两个string 都有字母和backspace,然后看最后是不是一样的结果

从后往前traverse O(N) + O(1)

class Solution {
    public boolean areSameStrings(String s1, String s2) {
        if (s1 == null || s2 == null) {
            return false;
        }
        if (s1.equals(s2)) {
            return true;
        }

        int i = s1.length() - 1;
        int j = s2.length() - 1;
        while (i >= 0 && j >= 0) {
            while (s1.charAt(i) == '$') {
                i -= 2;
            }

            while (s2.charAt(j) == '$') {
                j -= 2;
            }

            if (s1.charAt(i) != s2.charAt(j)) {
                return false;
            }

            i--;
            j--;
        } // end of while

        if (i != -1 || j != -1) {
            return false;
        }

        return true;
    }
}

相关文章

  • 对比两个string在退格操作后是否相同

    两个string 都有字母和backspace,然后看最后是不是一样的结果 从后往前traverse O(N) +...

  • java中equals和==的区别

    ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同 String中的eq...

  • LeetCode 389. Find the Differenc

    找出两个string中的单一值,使用异或操作,两个相同的值异或等于零,把两个string中的所有值都做异或操作,最...

  • js {}=={} 返回false 并且 {}==={} 返回f

    对比两个json的结构是否完全相同,并没有想象那么简单,建议先去查查。而json结构相同,和json对象相同,不是...

  • JSP中 == 和equals的区别

    ==是判断两个变量或实例是不是指向同一个内存空间; 而经过覆盖重写后的equals只对比内容是否相同。

  • 2016.6.12

    ruby的equal是比较两个对象是否相同,而java里String类的equal方法比较两个字符串对象的值是否相...

  • 记录一个小坑

    golang的string在进行两个字符串比较时,会比较两个字符串底层的[]byte是否相同, 而不是单纯的比较字...

  • 318 Maximum Product of Word Leng

    key tips 使用bit运算记录每个string包含的char,比较连个string是否包含相同的char,可...

  • 栈-E844-比较含退格的字符串

    题目 概述:给定两个含退格的字符串,比较这两个字符串的有效部分是否相等 退格表示自己本身和靠近它左侧的第一个字符(...

  • 两个List< string>比较是否相同的N种方法,你用过哪种

    两个List< string>比较是否相同的N种方法,你用过哪种? 今天在一技术群看一群大佬讨论: 有没有优雅的写...

网友评论

      本文标题:对比两个string在退格操作后是否相同

      本文链接:https://www.haomeiwen.com/subject/fkhceftx.html