難易度:簡単
説明
https://leetcode.com/problems/valid-palindrome-ii/
整数の配列、彼らは特定まで追加するように、2つの数のリターン指数を考えます
非空の文字列を考えると s
、あなたは最大1つの文字を削除することができます。あなたはそれ回文作ることができるかどうかを判断します。
例1:
入力:「ABA」 出力:真
例2:
入力:「ABCA」 出力:真の 説明:文字「C」を削除できます。
直感
二つのポインタの1.Make使用。
解決
パブリックブールvalidPalindrome(文字列s)は{ のために(int型I = 0、J = s.length() - 1; iのJ <;私は、J ++を- ){ 場合(s.charAt(I)= s.charAt(! J)) isPalindrome(S、I、J-1)を返し|| isPalindrome(S、I + 1、J)。 } trueを返します。 } プライベートブールisPalindrome(Stringを、私はint型、int型J){ (I <jの)中{ (s.charAt(私は++)= s.charAt(j--)!)場合は falseを返します。 } trueを返します。 }
複雑
時間複雑: O(n)は、
宇宙複雑: O(1)
私は何を学びました
1.それは、学ぶと方法を利用することが重要ですisPalindromeを()