zoukankan      html  css  js  c++  java
  • “退格键”(Backspace)你想退到哪里?比较含退格的字符串

    描述:比较含退格的字符串

    退格

    用“#”表示退格键,示例:ab#c == ac 。注意:如果对空文本书写退格,文本认为空,即:######## == ‘ ’
    几种类型
    #ab
    #a#b
    ab##
    #a##b
    #a#b#c

    一、栈

     var backspaceCompare = function(S, T) {
            let s1=[],t1=[]; 
            S.split('').map(item=>{ item!=="#"?s1.push(item):s1.pop()})
            T.split('').map(item=>{ item!=="#"?t1.push(item):t1.pop()})
            return s1.join('')===t1.join('')
        };
    

    二、个人写法

     function getArr(str) {
            let arr = str.split('');
            let len =  arr.length; //注意这个地方for循环的时候arr的长度是不断变化的
            // console.log(arr);
            for (let i = 0; i < len; i++) {
                // console.log(a[0]);
                if (arr[0] == "#") {
                    // console.log("删除#开头");
                    arr.splice(0, 1);i=0;
                }else{
                    if(arr[i] == "#"){
                        arr.splice(i - 1, 2);i=0;
                    }
                }
                
                // console.log(a,"________________"+i);
                
            }
            return arr
        }
        // let res1 = getArr(str1);
        // let res2 = getArr(str2);
        let res3 = getArr(str1);
        let res = getArr(str4);
           console.log(res);
           console.log(res3);
        // getArr(str2);
    
        function compare(arr1, arr2) {
            let temp = true;
            if (arr1.length != arr2.length) {
                temp = false;
            } else {
                for (var i = 0; i < arr1.length; i++) {
                    if (arr1[i] != arr2[i]) {
                        temp = false;
                    }
                }
            }
            return temp
        }
        // let res = compare([1,2,3,4],[1,2,3,4])
        // console.log(res);
    
    
        // var backspaceCompare = function (S, T) {
        //     return compare(getArr(S),getArr(T))
        // };
    
  • 相关阅读:
    [学习笔记]基于值域预处理的快速 GCD
    [学习笔记]整除偏序与zeta变换、Möbius变换、lcm卷积、gcd卷积
    [学习笔记]MinMax容斥
    [学习笔记]Pollard Rho算法
    [学习笔记]Miller Rabin测试
    [学习笔记]万能欧几里得
    用C#写程序安装包 Joe
    linux 命令
    几个有用的php字符串过滤,转换函数
    linux挂载 Windows分区
  • 原文地址:https://www.cnblogs.com/qjsbk/p/13839875.html
Copyright © 2011-2022 走看看