0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

[力扣05]最長回文子串是什么

汽車電子技術 ? 來源:C語言Plus ? 作者: Maye426 ? 2023-02-27 14:34 ? 次閱讀

教程使用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++
    C++
    +關注

    關注

    21

    文章

    2085

    瀏覽量

    73302
  • 代碼
    +關注

    關注

    30

    文章

    4671

    瀏覽量

    67767
  • 編寫
    +關注

    關注

    0

    文章

    29

    瀏覽量

    8403
收藏 人收藏

    評論

    相關推薦

    bash腳本中檢查字符的方法

    我們在寫 bash 腳本的時候,假如有一個字符,我們想檢查其中是否包含另一個字符,那這個時候需要怎樣做呢?
    發(fā)表于 11-24 15:25 ?1562次閱讀
    bash腳本中檢查<b class='flag-5'>子</b>字符<b class='flag-5'>串</b>的方法

    數(shù)據(jù)結構:判斷鏈表回文結構

    給定一個鏈表,判斷該鏈表是否為回文結構。回文是指該字符正序逆序完全一致。如當輸入鏈表 {1,2,3,2,1} 時,斷定是回文結構,輸出True。
    的頭像 發(fā)表于 12-01 13:26 ?476次閱讀
    數(shù)據(jù)結構:判斷鏈表<b class='flag-5'>回文</b>結構

    C++刷題記之最長回文字符串,讓我們從C++做題到放棄

    編程語言C++語言
    電子學習
    發(fā)布于 :2023年01月14日 11:40:15

    Labview之替換字符

    Labview之替換字符,很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:43 ?0次下載

    C語言教程之回文素數(shù)

    C語言教程之回文素數(shù),很好的C語言資料,快來學習吧。
    發(fā)表于 04-22 17:45 ?0次下載

    C語言教程之回文字符串

    C語言教程之回文字符串,很好的C語言資料,快來學習吧。
    發(fā)表于 04-25 15:49 ?0次下載

    絕緣的泄漏電流特征

    對絕緣泄漏電流的分析是進行覆冰閃絡預警的一個重要方法,而絕緣的泄漏電流特征除與絕緣本身特性有關之外,還受到覆冰類型的影響。對玻璃絕緣
    發(fā)表于 12-14 14:48 ?11次下載
    絕緣<b class='flag-5'>子</b><b class='flag-5'>串</b>的泄漏電流特征

    特高壓交流線路Y型復合絕緣靜電場分布

    通過建立理想條件下特高壓雙回輸電線路丫型復合絕緣的三維靜電場有限元分析模型,計算了Y型絕緣和均壓環(huán)表面電場分布。分析了長比例、V
    發(fā)表于 12-30 14:49 ?0次下載
    特高壓交流線路Y型復合絕緣<b class='flag-5'>子</b><b class='flag-5'>串</b>靜電場分布

    對于絕緣,它的電壓分布規(guī)律是什么

    在使用絕緣測試儀系列產品對日常運行中的絕緣實際巡檢、維護中,我們可以根據(jù)絕緣的電壓分布規(guī)律及安裝使用環(huán)境來決定檢測絕緣
    的頭像 發(fā)表于 03-30 21:48 ?1.3w次閱讀

    教你7個Python判斷字符是否包含的方法

    教你7個Python判斷字符是否包含的方法
    的頭像 發(fā)表于 08-17 10:52 ?4966次閱讀
    教你7個Python判斷字符<b class='flag-5'>串</b>是否包含<b class='flag-5'>子</b><b class='flag-5'>串</b>的方法

    word文檔解密方法說明

    word文檔解密方法,當我們求取最長回文時,常見的方法就是中心擴散法,即從字符中心出發(fā),向兩邊對比,檢查是否相等,若等于,則繼續(xù)檢查,并使當前字符中心對應的
    的頭像 發(fā)表于 03-14 09:05 ?1566次閱讀

    無重復字符的最長

    此教程使用C++版本編寫代碼,如需其他版本,請自行修改,并在網(wǎng)站中測試
    的頭像 發(fā)表于 02-27 14:38 ?347次閱讀

    Python如何解決無重復字符的最長問題

    這是一個關于字符的經(jīng)典問題,給定一個字符,求出其中最長的不含有重復字符的。例如,給定字符
    的頭像 發(fā)表于 03-03 14:34 ?1253次閱讀

    如何用python判斷字符是否為回文

    用兩個變量left,right模仿指針(一個指向第一個字符,一個指向最后一個字符),每比對成功一次,left向右移動一位,right向左移動一位,如果left與right所指的元素不相等則退出,最后比較left與right的大小,如果left>right則說明是回文字符串。
    的頭像 發(fā)表于 03-08 11:04 ?1635次閱讀

    Python 如何判斷字符是否包含

    方法 使用 字符 對象的 find 方法,如果有找到,就可以返回指定子在字符中的出現(xiàn)位置,如果沒有找到,就返回 -1 >> >
    的頭像 發(fā)表于 11-02 10:55 ?409次閱讀