日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在字符串末尾添加字符使其成为回文串

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在字符串末尾添加字符使其成为回文串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

易得到了一個僅包含大小寫英文字符的字符串,該字符串可能不是回文串。(“回文串”是一個正讀和反讀都一樣的字符串,比如“level”或者“noon”等等就是回文串,“asds”就不是回文串。)

小易可以在字符串尾部加入任意數量的任意字符,使其字符串變成回文串。

現在請你編寫一個程序,程序要能計算出小易可以得到的最短回文串。

#include<bits/stdc++.h> using namespace std;bool judge(int start,int end,string s){//判斷該部分字符串 是否是回文 while(start<end){if(s[start]!=s[end]) break;start++;end--;}if(start==end||s[start]==s[end]) return true;//sds就會出現start=end這種情況||ss字符串就會出現start!=endreturn false; }int main(){string str;cin >> str;int end = str.size()-1;//最后一個字符的位置 int start = end;for(int i=0;i<str.size();i++){if(judge(i,end,str)){ //如果是回文 start = i;break;}} for(int i=start-1;i>=0;i--){str+=str[i];}cout << str << endl;return 0; }

//#define CRTDBG_MAP_ALLOC //放在程序最前 #include <iostream> #include<vector> #include<string> #include <unordered_map> #include <unordered_set> #include <map> #include <queue> #include <algorithm>//算法頭文件 #include <numeric> #include <stack> #include<typeinfo> #include<regex> #include<stdio.h> #include <stdlib.h> #include <crtdbg.h> #include <thread> //#include<bits/stdc++.h>using namespace std;const long long cc = 1000000; const long long pp = 2000000; char s[pp];//注意S數組的大小至少要開C數組的兩倍 char c[cc];//注意S數組的大小至少要開C數組的兩倍 long long p[pp];//P可以理解為回文字符串的半徑void init()//初始化S數組 {long long i, j;s[0] = '@';for (i = 0; c[i] != 0; i++){s[2 * i + 1] = '#';s[2 * i + 2] = c[i];} s[2 * i + 1] = '#';s[2 * i + 2] = 0; } void manacher(long long len) {long long id = 0, mx = 0;long long maxLen = 0, start = 0;for (long long i = 1; s[i] != 0; i++){if (mx > i)p[i] = min(p[2 * id - i], mx - i);elsep[i] = 1;while (s[i + p[i]] == s[i - p[i]])p[i]++;if (i + p[i] > mx){mx = i + p[i];id = i;}}mx = 0;for (long long i = 1; s[i] != 0; i++){if (p[i] > mx){mx = p[i];start = (i - p[i]) / 2;maxLen = mx - 1;//mx-1是回文子串的長度,start是回文子串的起始位置}}cout << len - maxLen << endl; } int main()//用cin\cout 會超時 {string ss;getline(cin, ss);reverse(ss.begin(), ss.end());long long len = ss.size();for (long long i = 0; i < len; i++) {c[i] = ss[i];}init();manacher(len);return 0; }

總結

以上是生活随笔為你收集整理的在字符串末尾添加字符使其成为回文串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天操天天操天天操天天 | 国产99久久九九精品无码 | 欧美性大战久久久 | 日本va在线 | 亚洲精品美女久久久 | 中文字幕av在线播放 | 亚洲欧美日韩中文在线 | 国模人体一区二区 | 国产福利资源在线 | 亚洲乱码在线 | 日韩av手机在线播放 | 久久精品无码专区 | 白浆av| 驯服少爷漫画免费观看下拉式漫画 | 黄色网址大全免费 | 成人合集 | 国产毛片毛片毛片 | 国产又大又粗又硬 | 4438亚洲| 欧美一区视频在线 | 精品黑人一区二区三区在线观看 | 国产精品高清无码 | xxxxx在线观看 | 国产婷婷在线视频 | 欧美精品色婷婷五月综合 | 久久精品视频一区二区 | 国产一区不卡在线 | 99国产揄拍国产精品 | 色噜噜色综合 | 亚洲图色av | 啊灬啊灬啊灬秀婷 | 无码国产精品96久久久久 | 高清欧美性猛交 | 操女网站 | 欧美一区二区三区成人片在线 | 91精品国产欧美一区二区 | 久久伊人av | 国产一区二区在线不卡 | 色呦呦国产精品 | 国产熟女一区二区三区四区 | 国产成人精品综合在线观看 | 亚洲在线观看视频 | 国产福利在线 | 日韩精品免费一区二区夜夜嗨 | 女人十八岁毛片 | 亚洲一区二区久久久 | 亚洲免费中文字幕 | 欧美精品一区二区三区在线 | 美国一级大黄一片免费中文 | 日本视频h | 色香影视 | 无码人妻黑人中文字幕 | 狠狠躁天天躁夜夜躁婷婷 | 肉视频在线观看 | 免费三级黄 | 久久国产日韩 | 丁香花高清视频完整电影 | 在线精品视频播放 | 亚洲综合福利 | 老司机免费视频 | a天堂在线| 韩国三级在线视频 | 2024国产精品 | 久久久久综合 | 另类色综合 | 蜜臀久久99精品久久久画质超高清 | 免费一级全黄少妇性色生活片 | 日本在线观看免费 | 少妇裸体淫交视频免费看高清 | 同人动漫在线观看 | 成人午夜视频在线免费观看 | 国产精品久久久无码一区 | 国产又黄又湿 | 日本伊人色 | 蜜桃视频黄色 | 国产精品国产三级国产aⅴ无密码 | 91视频免费播放 | 亚洲一区在线免费观看 | 熟妇女人妻丰满少妇中文字幕 | 国产小视频在线看 | 久草操| www.精品国产 | 高清二区 | va在线 | 久久精精品久久久久噜噜 | 永久中文字幕 | 国产高清一区 | 男人av网 | 精品中文字幕一区二区三区 | eeuss日韩 | 北条麻妃一区二区三区在线观看 | 中文在线不卡视频 | av动漫网| 日日摸夜夜添夜夜添高潮喷水 | 国产激情视频一区二区 | 国产精品国产成人国产三级 | 三级av毛片 | 永久免费的网站入口 | 日本不卡不卡 |