首页 > 其他 > 详细

680. Valid Palindrome II

时间:2019-04-11 11:13:09      阅读:117      评论:0      收藏:0      [点我收藏+]

Given a non-empty string s, you may delete at most one character. Judge whether you can make it a palindrome.

Example 1:

Input: "aba" Output: True

Example 2:

Input: "abca" Output: True Explanation: You could delete the character ‘c‘.

Note:

  1. The string will only contain lowercase characters a-z. The maximum length of the string is 50000.
class Solution {
    public boolean validPalindrome(String s) {
        int l = 0;
        int r = s.length() - 1;
        while (l < r) {
            if (s.charAt(l) != s.charAt(r))
                return isPalindrome(s, l, r - 1) || isPalindrome(s, l + 1, r); //如果出现不想同的情况,开始处加一或者末尾减一                                                                                
            l++;
            r--;
        }
        return true;
        
    }
    
    private boolean isPalindrome(String s, int start, int end) { //判断是不是回文序列
        while (start < end) {
            if (s.charAt(start) == s.charAt(end)) {
                start++;
                end--;
            }
            else 
                return false;            
        }
        return true;
    }
}

680. Valid Palindrome II

原文:https://www.cnblogs.com/MarkLeeBYR/p/10688268.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!