[题目链接](剑指 Offer II 019. 最多删除一个字符得到回文 - 力扣(LeetCode) (leetcode-cn.com))
思路如果左右两个字符不同,选择删除其中一个,判断剩下的字符串是否为回文串。删除左边字符后不构成回文串,再看看删除右边那个字符后是否构成回文串。 代码
class Solution { public boolean isValidPalindrome(String s1,String s2) { if(s1.equals(s2)) return true; return false; } public boolean validPalindrome(String s) { for(int left = 0, right = s.length()-1; left <= right;left++,right--) { if(s.charAt(left) != s.charAt(right)) { String now1 = new StringBuffer(s).deleteCharAt(left).toString(); String now2 = new StringBuffer(now1).reverse().toString(); if(isValidPalindrome(now1,now2)) return true; now1 = new StringBuffer(s).deleteCharAt(right).toString(); now2 = new StringBuffer(now1).reverse().toString(); if(isValidPalindrome(now1,now2)) return true; else return false; } } return true; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)