zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 680 验证回文字符串 Ⅱ(暴力)

    680. 验证回文字符串 Ⅱ

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

    示例 1:

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

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

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

    PS:
    我只允许有一次跳过,终止条件加上了wrongCount 》=2

    class Solution {
           public boolean validPalindrome(String s) {
            if( s == null || s.isEmpty()) {
            	return true;
            }
            
            return validPalindrome(s, 0, s.length()-1, 0);
        }
    	
    	public boolean validPalindrome(String s, int left, int right, int wrongCount) {
    		if( wrongCount >= 2) {
    	    	return false;
    	    }
            while( left < right) {
            	if( s.charAt(left) == s.charAt(right)) {
            		left++;
            		right--;
            	}else {
            		return validPalindrome(s, left, right-1, wrongCount+1)
            				|| validPalindrome(s, left + 1, right, wrongCount + 1);
            	} 
            }
            return true;
        }
    }
    
  • 相关阅读:
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    deployment:声明式的升级应用
    Kubernetes架构及相关服务详解
    Docker 安装MySQL
    日志收集-Elk6
    Jenkins-Multijob plugin多任务串并行
    ansible创建vmware虚拟机
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074808.html
Copyright © 2011-2022 走看看