leetcode刷題 驗證回文字串II

2021-10-06 07:44:09 字數 1429 閱讀 9637

給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。

示例

aba true

abca true

abcda false

思路:

使用雙指標,乙個指標start從前往後遍歷,乙個指標end從後往前遍歷,如果不一樣,start+1或者end-1,判斷兩個字字串是否為回文字串,如果有乙個是,返回true;

**及注釋:

c++:

calss solution

//字串遍歷完成,返回true

return

true;}

bool

ispalindrome

(string s)

//如果不相同,刪除low或者high,判斷[low+1,high]到[low,high-1];

else

return

checkpalindrome

(low+

1,high)

||checkpalindrome

(low,high-1)

;}return

true;}

}

python3:

def

ispalindrome

(self,s:

str)

->

bool

:# python中#代表注釋

# 句末加:表示和以下為同一部分

defcheckpalindrome

(start,end)

:while startif s[start]

!=s[end]

:return

false

else

: start +=

1 end -=

1return

true

#空一行表示是兩個部分

#變數必須在初始化時賦值

i,j =0,

len(s)-1

while iif s[i]

==s[j]

: i +=

1 j -=

1else

:return checkpalindrome(i+

1,j)

or checkpalindrome(i,j-1)

return

true

;

leetcode刷題 125 驗證回文串

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 思路 先用replaceall ...

LeetCode刷題筆記第9題 回文字

給你乙個整數 x 如果 x 是乙個回文整數,返回 true 否則,返回 false 回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。例如,121 是回文,而 123 不是。示例 1 輸入 x 121 輸出 true 示例 2 輸入 x 121 輸出 false 解釋 從左向右讀,為 1...

LeetCode刷題筆記 125 驗證回文串

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 設定兩個指標i和j,i從頭遍歷到...