当前位置:   article > 正文

LeetCode刷题-- 双指针(回文)_双指针 回文

双指针 回文

双指针验证回文数字/回文字符串

9. 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:
输入: 121
输出: true

示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

class Solution {
    public boolean isPalindrome(int x) {
     String str = String.valueOf(x);
     int i = 0;
     int j = str.length()-1;
     for(i = 0 ;i<j; i++,j--){
         if(str.charAt(i) != str.charAt(j)){
             return false;
         }
     }
     return true;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

125. 验证回文字符串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:
输入: “A man, a plan, a canal: Panama”
输出: true

示例 2:
输入: “race a car”
输出: false

class Solution {
    public boolean isPalindrome(String s) {
     //题目中需要忽略大小写
     //全部换成小写
      s = s.toLowerCase();
     //只考虑小写字母和数字
     //正则表达式:[^0-9a-z],代表除了0-9a-z以外的字符
     //[0-9a-z]代表0-9a-z的字符
      s =s.replaceAll("[^0-9a-z]","");
     int i = 0;
     int j = s.length()-1;
     for(i = 0; i<j; i++,j--){
         if(s.charAt(i) != s.charAt(j)){
             return false;
         }
     }
     return true;
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

680 . 反转字符串Ⅱ

给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。

示例 1:
输入: “aba”
输出: True

示例 2:
输入: “abca”
输出: True
解释: 你可以删除c字符。

class Solution {
    public boolean validPalindrome(String s) {
        //双指针法
        int i = 0;
        int j = s.length()-1;
        for(i = 0; i<j; i++,j--){
            if(s.charAt(i) != s.charAt(j)){
                //这时判断删除一个字符能否组成回文串
                //需要调用方法来完成判断
                return isPalindrome(s,i+1,j) || isPalindrome(s,i,j-1);
            }
        }
        return true;
    }

    //功能:判断在区间【i,j】之间的字符串是否为回文字符串
    public boolean isPalindrome(String s , int i, int j){
        for(; i<j ; i++,j--){
            if(s.charAt(i) != s.charAt(j)){
                return false;
            }
        }
        return true;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/934014
推荐阅读
相关标签
  

闽ICP备14008679号