最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)LeetCode(557.翻轉(zhuǎn)字符串中的單詞之三)

 更新時(shí)間:2021年08月04日 16:02:47   作者:Grandyang  
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(557.翻轉(zhuǎn)字符串中的單詞之三),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

[LeetCode] 557.Reverse Words in a String III 翻轉(zhuǎn)字符串中的單詞之三

Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

Example 1:

Input: "Let's take LeetCode contest"
Output: "s'teL ekat edoCteeL tsetnoc"

Note: In the string, each word is separated by single space and there will not be any extra space in the string.

這道題讓我們翻轉(zhuǎn)字符串中的每個(gè)單詞,感覺(jué)整體難度要比之前兩道Reverse Words in a String IIReverse Words in a String要小一些,由于題目中說(shuō)明了沒(méi)有多余空格,使得難度進(jìn)一步的降低了。首先我們來(lái)看使用字符流處理類(lèi)stringstream來(lái)做的方法,相當(dāng)簡(jiǎn)單,就是按順序讀入每個(gè)單詞進(jìn)行翻轉(zhuǎn)即可,參見(jiàn)代碼如下:

解法一:

class Solution {
public:
    string reverseWords(string s) {
        string res = "", t = "";
        istringstream is(s);
        while (is >> t) {
            reverse(t.begin(), t.end());
            res += t + " ";
        }
        res.pop_back();
        return res;
    }
};

下面我們來(lái)看不使用字符流處理類(lèi),也不使用STL內(nèi)置的reverse函數(shù)的方法,那么就是用兩個(gè)指針,分別指向每個(gè)單詞的開(kāi)頭和結(jié)尾位置,確定了單詞的首尾位置后,再用兩個(gè)指針對(duì)單詞進(jìn)行首尾交換即可,有點(diǎn)像驗(yàn)證回文字符串的方法,參見(jiàn)代碼如下:

解法二:

class Solution {
public:
    string reverseWords(string s) {
        int start = 0, end = 0, n = s.size();
        while (start < n && end < n) {
            while (end < n && s[end] != ' ') ++end;
            for (int i = start, j = end - 1; i < j; ++i, --j) {
                swap(s[i], s[j]);
            }
            start = ++end;
        }
        return s;
    }
};

類(lèi)似題目:

Reverse Words in a String II

Reverse Words in a String

參考資料:

https://discuss.leetcode.com/topic/85773/nothing-fancy-straight-java-stringbuilder

https://discuss.leetcode.com/topic/85797/java-two-methods-3-line-using-built-in-and-char-array

到此這篇關(guān)于C++實(shí)現(xiàn)LeetCode(557.翻轉(zhuǎn)字符串中的單詞之三)的文章就介紹到這了,更多相關(guān)C++實(shí)現(xiàn)翻轉(zhuǎn)字符串中的單詞之三內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++11, 14, 17對(duì)tuple元素的訪問(wèn)詳情

    C++11, 14, 17對(duì)tuple元素的訪問(wèn)詳情

    這篇文章主要介紹了C++11, 14, 17對(duì)tuple元素的訪問(wèn)詳情,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 基于list循環(huán)刪除元素,迭代器失效的問(wèn)題詳解

    基于list循環(huán)刪除元素,迭代器失效的問(wèn)題詳解

    下面小編就為大家?guī)?lái)一篇基于list循環(huán)刪除元素,迭代器失效的問(wèn)題詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Matlab實(shí)現(xiàn)四種HSV色輪圖繪制的示例代碼

    Matlab實(shí)現(xiàn)四種HSV色輪圖繪制的示例代碼

    色輪圖就是色彩相位圖,它完整表現(xiàn)了色相環(huán)360度的全部顏色。本文將利用Matlab語(yǔ)言繪制四種不同的HSV色輪圖,感興趣的可以動(dòng)手嘗試一下
    2022-07-07
  • C++中對(duì)象的賦值與復(fù)制操作詳細(xì)解析

    C++中對(duì)象的賦值與復(fù)制操作詳細(xì)解析

    對(duì)象之間的賦值也是通過(guò)賦值運(yùn)算符“=”進(jìn)行的。本來(lái)賦值運(yùn)算符“=”只能用來(lái)對(duì)單個(gè)的變量賦值,現(xiàn)在被擴(kuò)展為兩個(gè)同類(lèi)對(duì)象之間的賦值,這是通過(guò)對(duì)賦值運(yùn)算符的重載實(shí)現(xiàn)的
    2013-10-10
  • C++中范圍(Ranges)與視圖(Views)的常見(jiàn)問(wèn)題、易錯(cuò)點(diǎn)

    C++中范圍(Ranges)與視圖(Views)的常見(jiàn)問(wèn)題、易錯(cuò)點(diǎn)

    ranges和views是C20引入的重要特性,它們讓代碼更加簡(jiǎn)潔、高效且富有表達(dá)力,通過(guò)理解其基本概念、注意常見(jiàn)的陷阱,并合理應(yīng)用高級(jí)技巧,開(kāi)發(fā)者可以充分利用這些新特性,提升軟件質(zhì)量和開(kāi)發(fā)效率,,本文將深入淺出地探討ranges與views的基礎(chǔ)概念、常見(jiàn)問(wèn)題、易錯(cuò)點(diǎn)及避免策略
    2024-06-06
  • C++使用jsoncpp庫(kù)解析Json

    C++使用jsoncpp庫(kù)解析Json

    對(duì)json的解析操作是我們?nèi)粘i_(kāi)發(fā)中經(jīng)常會(huì)遇到的一個(gè)需求,下面這篇文章主要給大家介紹了關(guān)于C++使用jsoncpp庫(kù)解析Json的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • 基于C語(yǔ)言利用哈夫曼樹(shù)實(shí)現(xiàn)文件壓縮的問(wèn)題

    基于C語(yǔ)言利用哈夫曼樹(shù)實(shí)現(xiàn)文件壓縮的問(wèn)題

    哈夫曼編碼是一種編碼方式,又稱(chēng)“霍夫曼編碼”,其是可變字長(zhǎng)的編碼(VCL)的一種,這篇文章主要介紹了基于C語(yǔ)言利用哈夫曼樹(shù)實(shí)現(xiàn)文件壓縮,需要的朋友可以參考下
    2021-08-08
  • C++使用MIDI庫(kù)實(shí)現(xiàn)演奏晴天

    C++使用MIDI庫(kù)實(shí)現(xiàn)演奏晴天

    這篇文章主要為大家詳細(xì)介紹了C++如何使用MIDI庫(kù)實(shí)現(xiàn)演奏晴天歌曲,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下
    2025-02-02
  • C語(yǔ)言實(shí)現(xiàn)帶頭雙向循環(huán)鏈表的接口

    C語(yǔ)言實(shí)現(xiàn)帶頭雙向循環(huán)鏈表的接口

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)帶頭雙向循環(huán)鏈表的接口,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 深入了解C++封閉類(lèi)的定義與使用

    深入了解C++封閉類(lèi)的定義與使用

    一個(gè)類(lèi)的成員變量如果是另一個(gè)類(lèi)的對(duì)象,就稱(chēng)之為“成員對(duì)象”。包含成員對(duì)象的類(lèi)叫封閉類(lèi)(enclosed?class)。本文主要和大家聊聊C++封閉類(lèi)的使用,需要的可以參考一下
    2022-11-11

最新評(píng)論

江油市| 信阳市| 达州市| 琼中| 蓬安县| 平昌县| 米林县| 浮山县| 西城区| 永川市| 花莲县| 资溪县| 突泉县| 莱西市| 噶尔县| 东光县| 许昌市| 东兰县| 新竹市| 彩票| 霍山县| 登封市| 万州区| 大余县| 茂名市| 三门峡市| 扎赉特旗| 二连浩特市| 荔波县| 开江县| 济阳县| 远安县| 鲁山县| 巨鹿县| 贵阳市| 锡林浩特市| 曲沃县| 濉溪县| 姜堰市| 从江县| 通许县|