LeetCode 125. Valid Palindrome

17 篇文章 0 订阅
6 篇文章 0 订阅

史诗级回文串:A man, a plan, a canal: Panama

(去掉标点符号再看看)

JAVA

class Solution {
    public boolean isPalindrome(String s) {
        StringBuffer ans = new StringBuffer();
        int len = s.length();
        for (int i = 0; i < len; ++i) {
            char tmp = s.charAt(i);
            if (Character.isLetterOrDigit(tmp)) {
                ans.append(Character.toLowerCase(tmp));
            }
        }
        StringBuffer ans_reverse = new StringBuffer(ans).reverse();
        return ans.toString().equals(ans_reverse.toString());
    }
}

七个函数(字面意思):

toLowerCase
toUpperCase
isLetterOrDigit
isLowerCase
isUpperCase
isDigit
isLetter

S t r i n g String String S t r i n g B u f f e r StringBuffer StringBuffer 的区别:

① 简单地说,就是一个变量和常量的关系
② 赋值时一个用 + + + 号,另一个用 .append()

String a = "123", b = "456";

String c = a + b;
StringBuffer d = new StringBuffer();
d.append(a + b);

System.out.println(c);
System.out.println(d);

output:
123456
123456

Python

class Solution:
    def isPalindrome(self, s: str) -> bool:
        ans = "".join(ch.lower() for ch in s if ch.isalnum())
        return ans == ans[::-1]

这是什么神仙写法,爱了爱了

七个函数(字面意思):

lower
upper
isalnum
isdigit
isalpha
islower
isupper

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值