LeetCode Reverse Words in a String III

原題鏈接在這里:https://leetcode.com/problems/reverse-words-in-a-string-iii/#/description

題目:

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.

題解:

與Reverse String II類似。原題中提到沒有多余的space, 所以降低了難度.

遇到空格就把之前標記的部分reverse.?

Note: 最后一次reverse別忘了.

Time Complexity: O(n), n = s.length().

Space: O(n), char array.

AC Java:

 1 class Solution {
 2     public String reverseWords(String s) {
 3         if(s == null || s.length() == 0){
 4             return s;
 5         }
 6         
 7         int len = s.length();
 8         char [] charArr = s.toCharArray();
 9         
10         int lo = 0;
11         for(int i = 0; i<=len; i++){
12             if(i==len || charArr[i]==' '){
13                 reverse(charArr, lo, i-1);
14                 lo = i+1;
15             }
16         }
17         
18         return new String(charArr);
19     }
20     
21     private void reverse(char [] s, int i, int j){
22         while(i < j){
23             swap(s, i++, j--);
24         }
25     }
26     
27     private void swap(char [] s, int i, int j){
28         char temp = s[i];
29         s[i] = s[j];
30         s[j] = temp;
31     }
32 }

?

轉載于:https://www.cnblogs.com/Dylan-Java-NYC/p/7015653.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254364.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254364.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254364.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

創業感悟:技術兄弟為什么一直沒有起來(1)

相信很多做技術的朋友&#xff0c;看到“人脈”兩個字&#xff0c;就顯得有些敏感&#xff0c;有人甚至產生一種“抵觸”的心理。 因為在很多人的心中&#xff0c;會自動的把“人脈”和“關系”關聯起來&#xff0c;會把“人脈”與“走后門”&#xff0c;甚至會和“酒桌文化”&…

kali開啟ssh

修改 vi /etc/ssh/sshd_config 1.將 permitrootlogin 前面的注釋去掉,并且后面改為yes 如果沒有則添加permitrootlogin yes 2.將#PasswordAuthentication no的注釋去掉&#xff0c;并且將NO修改為YES //kali中默認是yes 3.按Esc , 同時按shift和冒號鍵 ,輸入wq &#xff0c;回…

C# 引用類型與值類型轉換-裝箱和拆箱

文章目錄簡介用例裝箱拆箱博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 簡介 拆箱就是把 “引用” 類型轉化為 “值” 類型&#xff1b; 裝箱就是把 “值” 類型轉化為 “引用” 類型&#xff1b; 裝箱與拆箱是數據類型轉換的一種特殊應用…

XVID基本參數解析

XVID&#xff0c;X264等是MPEG4、H264標準的開源編碼器&#xff0c;其中X264只有編碼部分&#xff0c;解碼部分需要FFMPEG完成&#xff1b;XVID有編解碼部分&#xff0c;其中解碼亦可以利用FFMPEG中的MPEG4完成解碼。視頻壓縮算法的計算復雜度&#xff0c;都是比較高的。其中具…

自己整理的openresty安裝步驟

這幾天一直在研究對webapi的限流和名單的問題&#xff0c;于是看了開濤博客的方案&#xff0c;于是就用到了openresty&#xff0c;一個把Nginx和lua集成的東西。 下面就是整理的安裝方案&#xff08;簡單使用基本可以這么安裝&#xff09; 下載openresty&#xff08;centos上下…

京東入職一周感悟:4個匹配和4個觀點

入職一周啦&#xff0c;隨便寫點。一、京東之緣1、我和京東之間的4點匹配Ⅰ技術2008年9月到2016年9月&#xff0c;一直堅持自學技術。京東&#xff0c;是一家商業化的互聯網公司&#xff0c;有技術積淀&#xff0c;有發揮空間。作為技術人員&#xff0c;職業匹配。Ⅱ讀書大學的…

C#賦值運算符及解析

文章目錄博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 賦值運算符對運算符右邊的操作式求值&#xff0c;并用該值設置運算符左邊的變量操作式。賦值運算符主要有簡單賦值及復合賦值運算符&#xff1b;可以放在賦值運算符左邊的對象類型是變量…

mysql 案例 ~ pt修復工具的使用

簡介:今天咱們來聊聊PT修復工具pt-table-sync 注意事項&#xff1a; 1 表要有主鍵或者唯一鍵 2 針對每一個chunk加的是for update鎖 3 修復過程中不能容忍從庫延遲 如果從庫延遲太多&#xff0c;pt-table-sync會長期持有對chunk的for update鎖&#xff0c;然后等待從庫的…

mpeg2,mpeg4,h264編碼標準的異同

1、宏塊匹配像素精度&#xff1a; MPEG2中&#xff0c;運動估計的精度是1/2的像素&#xff0c;通過線性插值實現&#xff08;可能有簡單修正&#xff09;&#xff1b; H264和MPEG4 都可以支持1/4像素的精度 2、參考幀的數量&#xff1a;MPEG2&#xff0c;MPEG4的P幀只能有一幀…

四十歲學編程(一)

有時想想&#xff0c;人生還真的是曲折&#xff0c;人到中年了&#xff0c;我才開始學編程。 這一學&#xff0c;就是三年多&#xff0c;我居然堅持了下來。 更沒想到的是&#xff0c;三年后的我居然有勇氣投簡歷求職前端&#xff0c;雖然面試前戰戰兢兢。 很多時候&#xff0c…

01_SQlite數據庫簡介

轉載于:https://www.cnblogs.com/ZHONGZHENHUA/p/7023014.html

GNU Make 使用手冊(中譯版)

翻譯&#xff1a;于鳳昌譯者注&#xff1a;本人在閱讀Linux源代碼過程中發現如果要全面了解Linux的結構、理解Linux的編程總體設計及思想必須首先全部讀通Linux源代碼中各級的Makefile文件。目前&#xff0c;在網上雖然有一些著作&#xff0c;但都不能全面的解釋Linux源代碼中各…

基礎10 多進程、協程(multiprocessing、greenlet、gevent、gevent.monkey、select、selector)...

1.多進程實現方式&#xff08;類似于多線程&#xff09; 1 import multiprocessing2 import time,threading3 4 def thread_run():#定義一個線程函數5 print("我是子線程%s" %threading.get_ident()) #threading.get_ident()函數獲取當前線程的id6 def run(name…

C#比較運算符及解析

文章目錄博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 比較運算符得出的結果是邏輯型&#xff08;bool&#xff09;&#xff0c;即 True 或 False 。 比較運算符又稱關系運算符&#xff0c;我們可以把它理解為一種判斷&#xff0c;判斷的結果…

開發人員MySQL調優-理論篇

2019獨角獸企業重金招聘Python工程師標準>>> 修改字符集 查看字符集 show variables like character% show variables like %char% 上面的兩個命令都可以&#xff0c;我一般使用的下面的&#xff0c;會出來如下幾個字符集設定的選項&#xff1a; character_set_clie…

Java基礎之反射機制

Java反射機制 反射機制是什么 反射機制是在運行狀態中&#xff0c;對于任意一個類&#xff0c;都能夠知道這個類的所有屬性和方法&#xff1b;對于任意一個對象&#xff0c;都能夠調用它的任意一個方法和屬性&#xff1b;這種動態獲取的信息以及動態調用對象的方法的功能稱為ja…

C#邏輯運算符及解析

文章目錄博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 邏輯運算符用于連接一個或多個條件&#xff0c;判斷這些條件是否成立。 &#xff23;&#xff03;的邏輯運算符可以分為兩類&#xff1a; “&#xff06;” “&#xff5c;” “&…

通過ProGet搭建一個內部的Nuget服務器

.NET Core項目完全使用Nuget 管理組件之間的依賴關系&#xff0c;Nuget已經成為.NET 生態系統中不可或缺的一個組件&#xff0c;從項目角度&#xff0c;將項目中各種組件的引用統統交給NuGet&#xff0c;添加組件/刪除組件/以及更新組件即可一鍵完成&#xff0c;大大提升工作效…

unity官方教程-TANKS(一)

unity官方教程TANKS&#xff0c;難度系數中階。跟著官方教程學習Unity&#xff0c;通過本教程你可以學會使用Unity開發游戲的基本流程。 一、環境 Unity 版本 > 5.2Asset Store 里面搜索 Tanks!Tutorial ,下載導入 二、項目設置 為了便于開發&#xff0c;很多時候我們選用的…

Play框架的用戶驗證。

最近剛剛參與一個基于Play框架的管理平臺的升級工作&#xff0c;其中涉及到了用戶的驗證工作。第一次接觸play框架&#xff0c;直接看已有代碼&#xff0c;有點暈。因此&#xff0c;自己實現了一個簡單的用戶驗證功能。 首先&#xff0c;新建一個User類&#xff0c;包含兩個屬性…