前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode64|茴香豆???

LeetCode64|茴香豆???

作者头像
码农王同学
发布2020-09-28 16:21:48
3110
发布2020-09-28 16:21:48
举报
文章被收录于专栏:后端Coder后端Coder

1,问题简述

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

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

2,示例

代码语言:javascript
复制
示例 1:

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

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

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

3,题解思路

回文字符串的使用

4,题解程序

代码语言:javascript
复制

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,总结

回文字符串的使用

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农王同学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档