此教程使用C++版本編寫代碼,如需其他版本,請自行修改,并在力扣網(wǎng)站中測試!
題目描述
給你一個字符串 s,找到 s 中最長的回文子串。
示例1:
輸入:s = "babad"
輸出:"bab"
解釋:"aba" 同樣是符合題意的答案。
示例2:
輸入:s = "cbbd"
輸出:"bb"
提示:
1 <= s.length <= 1000
s
僅由數(shù)字和英文字母組成
C++題目源碼:
class Solution {
public:
string longestPalindrome(string s)
{
if(s.length()==0)
{
return "";
}
int size=s.length();
int left=0;
int right=0;
int len=1;
int maxPos=0;
int maxLen=0;
for(int i=0;i<size;i++)
{
left=i-1;
right=i+1;
//左邊
while(left>=0&&s[left]==s[i])
{
len++;
left--;
}
//右邊
while(right<size&&s[right]==s[i])
{
len++;
right++;
}
//左邊和右邊對稱
while(left>=0&&right<size&&s[left]==s[right])
{
len+=2;
left--;
right++;
}
if(len>maxLen)
{
maxLen=len;
maxPos=left;
}
len=1;
}
return s.substr(maxPos+1,maxLen);
}
};
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
C++
+關注
關注
21文章
2085瀏覽量
73302 -
代碼
+關注
關注
30文章
4671瀏覽量
67767 -
編寫
+關注
關注
0文章
29瀏覽量
8403
發(fā)布評論請先 登錄
相關推薦
bash腳本中檢查子字符串的方法
我們在寫 bash 腳本的時候,假如有一個字符串,我們想檢查其中是否包含另一個子字符串,那這個時候需要怎樣做呢?
發(fā)表于 11-24 15:25
?1562次閱讀
絕緣子串的泄漏電流特征
對絕緣子泄漏電流的分析是進行覆冰閃絡預警的一個重要方法,而絕緣子的泄漏電流特征除與絕緣子串本身特性有關之外,還受到覆冰類型的影響。對玻璃絕緣子
發(fā)表于 12-14 14:48
?11次下載
特高壓交流線路Y型復合絕緣子串靜電場分布
通過建立理想條件下特高壓雙回輸電線路丫型復合絕緣子串的三維靜電場有限元分析模型,計算了Y型絕緣子串和均壓環(huán)表面電場分布。分析了串長比例、V
發(fā)表于 12-30 14:49
?0次下載
對于絕緣子串,它的電壓分布規(guī)律是什么
在使用絕緣子測試儀系列產品對日常運行中的絕緣子串實際巡檢、維護中,我們可以根據(jù)絕緣子串的電壓分布規(guī)律及安裝使用環(huán)境來決定檢測絕緣
word文檔解密方法說明
word文檔解密方法,當我們求取最長回文子串時,常見的方法就是中心擴散法,即從字符中心出發(fā),向兩邊對比,檢查是否相等,若等于,則繼續(xù)檢查,并使當前字符中心對應的
Python如何解決無重復字符的最長子串問題
這是一個關于字符串的經(jīng)典問題,給定一個字符串,求出其中最長的不含有重復字符的子串。例如,給定字符串
如何用python判斷字符串是否為回文
用兩個變量left,right模仿指針(一個指向第一個字符,一個指向最后一個字符),每比對成功一次,left向右移動一位,right向左移動一位,如果left與right所指的元素不相等則退出,最后比較left與right的大小,如果left>right則說明是回文字符串。
Python 如何判斷字符串是否包含子串
方法 使用 字符串 對象的 find 方法,如果有找到子串,就可以返回指定子串在字符串中的出現(xiàn)位置,如果沒有找到,就返回 -1 >> >
評論