680.valid-palindrome-ii.go 328 B

1234567891011121314151617
  1. func validPalindrome(s string) bool {
  2. for l, r := 0, len(s)-1; l < r; l, r = l+1, r-1 {
  3. if s[l] != s[r] {
  4. return isPalindrome(s, l+1, r) || isPalindrome(s, l, r-1)
  5. }
  6. }
  7. return true
  8. }
  9. func isPalindrome(s string, i, j int) bool {
  10. for ; i < j; i, j = i+1, j-1 {
  11. if s[i] != s[j] {
  12. return false
  13. }
  14. }
  15. return true
  16. }