在leetcode上做的題,剛開始因為對題目的一點小誤解,所以花了不少時間,最終以16ms的成績通過了。
給定乙個字串s
,找到s
中最長的回文子串。你可以假設s
的最大長度為 1000。
示例 1:
輸入:"babad"輸出:"bab"注意:"aba" 也是乙個有效答案。示例 2:
輸入:"cbbd"輸出:"bb"演算法:採取的是中心擴充套件法,即找到以每個字元為中心的最長子串,或者是以兩個字元為中心的最長回文子串(比如bb),最後找出乙個最長的。
**如下:
string findlongestpalindrome(string s)
}return s.substr(start,end-start+1);//取從start到end的子串就是結果
}int expand(string s, int left, int right)
return r - l - 1;
}
測試結果如下:
測試的主函式如下:
#include#include#includeusing namespace std;
int expand(string s, int left, int right);
int main()
LeetCode c 回文鍊錶
題目如下 請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?思路一 首先讀題,不考慮高階情況的話,由於回文鍊錶的數值是對稱的。因此,我們可以遍歷一遍輸入的鍊錶,宣告...
Leetcode C 回文鍊錶
1.題目 請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2輸出 false示例 2 輸入 1 2 2 1輸出 true2.code definition for singly linked list.struct listnode class solution if n 1 n 0 return...
LeetCode C 驗證回文串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 思路 需要注意的是將字元進行大小...