LeetCode: Valid Palindrome II 字符串能否成回文 浅浅的花香味﹌ 2021-06-24 16:10 312阅读 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: 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, r=s.length()-1; while(l<r){ if(s.charAt(l)!=s.charAt(r)){ return isPalindrome(s, l+1, r) || isPalindrome(s, l, r-1); } l++;r--; } return true; } public boolean isPalindrome(String s, int l, int r){ while(l<r){ if(s.charAt(l)!=s.charAt(r)){ return false; } l++;r--; } return true; } }
还没有评论,来说两句吧...