关于力扣LeetCode第125题验证回文串

关于力扣LeetCode第125题验证回文串

我是用栈的方式解决的,将所有字母数字全部入栈,再全部出栈后就能得到反转,将入栈的内容与出栈的内容对比,完全相等那就是回文串了

缺点就是 没有优点,速度慢 内存占用高,只是作为一种思路延伸吧,初学,看官勿喷

    //125. 验证回文串
    public boolean isPalindrome(String s) {
        s=s.toLowerCase();                          // 不区分大小写
        Stack mainStack=new Stack();                
        StringBuilder sb=new StringBuilder();       // 保存入栈的内容
        StringBuilder sbReverse=new StringBuilder();    // 保存出栈的内容
        for(char a:s.toCharArray()){                
            if(Character.isLetterOrDigit(a)){       //将数字与字母入栈
                mainStack.push(a);
                sb.append(a);
            }
        }
        while(!mainStack.empty()){                  //出栈
            sbReverse.append(mainStack.pop());
        }
        if(sb.toString().equals(sbReverse.toString())){
            return true;                            
        }else {
            return false;
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_43967331/article/details/106107918
今日推荐