Leetcode541. 反轉(zhuǎn)字符串

題目

給定一個(gè)字符串和一個(gè)整數(shù) k尼斧,你需要對(duì)從字符串開(kāi)頭算起的每個(gè) 2k 個(gè)字符的前k個(gè)字符進(jìn)行反轉(zhuǎn)谁尸。如果剩余少于 k 個(gè)字符唉窃,則將剩余的所有全部反轉(zhuǎn)窟蓝。如果有小于 2k 但大于或等于 k 個(gè)字符栖茉,則反轉(zhuǎn)前 k 個(gè)字符篮绿,并將剩余的字符保持原樣。

示例:

輸入: s = "abcdefg", k = 2
輸出: "bacdfeg"

要求:

該字符串只包含小寫(xiě)的英文字母吕漂。
給定字符串的長(zhǎng)度和 k 在[1, 10000]范圍內(nèi)亲配。

C++代碼

#include <iostream>
#include <vector>
#include <map>
#include <set>
using namespace std;
class Solution {
public:
    string reverseStr(string s, int k) {
        int i = 0, j = 0, step = 0, upper = 0, end = 0, size = (int)s.size();
        while (i < size) {
            if (i + k < size) {
                upper = i + k / 2;
                end = i + k - 1;
            } else {
                upper = (size + i) / 2;
                end = size - 1;
            }
            step = 0;
            for (j = i; j < upper; ++j) {
                swap(s[j], s[end - step++]);
            }
            i += 2 * k;
        }
        return s;
    }
};
int main(int argc, const char * argv[]) {
    Solution solution;
    cout << solution.reverseStr("abcdefg", 2) << endl;
    cout << solution.reverseStr("abcdefg", 8) << endl;
    cout << solution.reverseStr("hyzqyljrnigxvdtneasepfahmtyhlohwxmkqcdfehybknvdmfrfvtbsovjbdhevlfxpdaovjgunjqlimjkfnqcqnajmebeddqsgl", 39) << endl;
    return 0;
}

來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/reverse-string-ii
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán)惶凝,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處吼虎。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市苍鲜,隨后出現(xiàn)的幾起案子思灰,更是在濱河造成了極大的恐慌,老刑警劉巖混滔,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洒疚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡坯屿,警方通過(guò)查閱死者的電腦和手機(jī)油湖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)领跛,“玉大人乏德,你說(shuō)我怎么就攤上這事》驼眩” “怎么了喊括?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)矢棚。 經(jīng)常有香客問(wèn)我郑什,道長(zhǎng),這世上最難降的妖魔是什么蒲肋? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任蹦误,我火速辦了婚禮劫拢,結(jié)果婚禮上肉津,老公的妹妹穿的比我還像新娘强胰。我一直安慰自己,他們只是感情好妹沙,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布偶洋。 她就那樣靜靜地躺著,像睡著了一般距糖。 火紅的嫁衣襯著肌膚如雪玄窝。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天悍引,我揣著相機(jī)與錄音恩脂,去河邊找鬼。 笑死趣斤,一個(gè)胖子當(dāng)著我的面吹牛俩块,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播浓领,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼玉凯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了联贩?” 一聲冷哼從身側(cè)響起漫仆,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎泪幌,沒(méi)想到半個(gè)月后盲厌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祸泪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年吗浩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浴滴。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拓萌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出升略,到底是詐尸還是另有隱情微王,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布品嚣,位于F島的核電站炕倘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏翰撑。R本人自食惡果不足惜罩旋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一啊央、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧涨醋,春花似錦瓜饥、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至溯警,卻和暖如春趣苏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背梯轻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工食磕, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人喳挑。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓彬伦,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蟀悦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子媚朦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容