最新国产好看的视频,伊人天堂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)字符串中的單詞之三),本篇文章通過簡要的案例,講解了該項(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è)單詞,感覺整體難度要比之前兩道Reverse Words in a String IIReverse Words in a String要小一些,由于題目中說明了沒有多余空格,使得難度進(jìn)一步的降低了。首先我們來看使用字符流處理類stringstream來做的方法,相當(dāng)簡單,就是按順序讀入每個(gè)單詞進(jìn)行翻轉(zhuǎ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;
    }
};

下面我們來看不使用字符流處理類,也不使用STL內(nèi)置的reverse函數(shù)的方法,那么就是用兩個(gè)指針,分別指向每個(gè)單詞的開頭和結(jié)尾位置,確定了單詞的首尾位置后,再用兩個(gè)指針對單詞進(jìn)行首尾交換即可,有點(diǎn)像驗(yà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;
    }
};

類似題目:

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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++11, 14, 17對tuple元素的訪問詳情

    C++11, 14, 17對tuple元素的訪問詳情

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

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

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

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

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

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

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

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

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

    C++使用jsoncpp庫解析Json

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

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

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

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

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

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

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

    深入了解C++封閉類的定義與使用

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

最新評(píng)論

黄龙县| 新竹县| 滁州市| 科技| 聂拉木县| 丹寨县| 黄冈市| 泰宁县| 霍林郭勒市| 育儿| 成安县| 泽库县| 焦作市| 怀来县| 会东县| 靖州| 江城| 万荣县| 沙坪坝区| 阿鲁科尔沁旗| 灌南县| 阿克| 湘阴县| 资源县| 安远县| 辽中县| 玛曲县| 句容市| 卫辉市| 北安市| 庆城县| 扎赉特旗| 灵石县| 香格里拉县| 海口市| 辽中县| 北川| 枣强县| 绍兴市| 安义县| 湖南省|