zoukankan      html  css  js  c++  java
  • 680. Valid Palindrome II 对称字符串-可删一个字母版本

    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'.

    思路:
    一旦不相等,就扩展一位来看结果。这个思路挺独特的。
    l本来就+1,所以这里应该是-1。char不相等,表示让1位判断整个是不是Palindromic。不行就整个退了

    ++l < --r:这一题要先加再赋值

    class Solution {
        public boolean validPalindrome(String s) {
            //cc
            if (s == null || s == "")
                return true;
            
            int l = -1, r = s.length();
            
            while (++l < --r) {
                if (s.charAt(l) != s.charAt(r)) 
                    return isPalindrome(s, l - 1, r) || isPalindrome(s, l, r + 1);
            }
            
            return true;
        }
        
        public boolean isPalindrome(String s, int l, int r) {
            while (++l < --r) {
                if (s.charAt(l) != s.charAt(r))
                    return false;
            }
            
            return true;
        }
    }
    View Code
    
    
    
     
     
  • 相关阅读:
    Murano Weekly Meeting 2015.11.04
    Python pdb调试
    Neutron命令测试5
    Neutron命令测试4
    Neutron命令测试3
    Neutron命令测试2
    Neutron命令测试1
    Murano Weekly Meeting 2015.10.20
    Murano Weekly Meeting 2015.10.13
    wireshark分析dhcp过程
  • 原文地址:https://www.cnblogs.com/immiao0319/p/13833617.html
Copyright © 2011-2022 走看看