LeetCode64|茴香豆???

时间:2022-07-26
本文章向大家介绍LeetCode64|茴香豆???,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1,问题简述

给定一个非空字符串 s,最多删除一个字符。

判断是否能成为回文字符串。

2,示例

示例 1:

输入: "aba"
输出: True
示例 2:

输入: "abca"
输出: True
解释: 你可以删除c字符。
注意:

字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。
 

3,题解思路

回文字符串的使用

4,题解程序


public class ValidPalindromeTest {
    public static void main(String[] args) {
        String str="abca";
        boolean validPalindrome = validPalindrome(str);
        System.out.println("validPalindrome = " + validPalindrome);
    }

    public static boolean validPalindrome(String s) {
        char[] chars = s.toCharArray();
        int i = 0;
        int j = chars.length - 1;
        while (i < j) {
            if (chars[i] != chars[j]) {
                return isPalindrome(chars, i + 1, j) || isPalindrome(chars, i, j - 1);
            }
            i++;
            j--;
        }
        return  true;
    }

    private static  boolean isPalindrome(char[] chars, int i, int j) {
        while (i < j) {
            if (chars[i++] != chars[j--]) {
                return false;
            }
        }
        return true;
    }

}

5,题解程序图片版

6,总结

回文字符串的使用