国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Leetcode: Reverse Words in a String

2019-11-14 21:18:44
字體:
供稿:網(wǎng)友
Leetcode: Reverse Words in a String
Given an input string, reverse the string word by word.For example,Given s = "the sky is blue",return "blue is sky the".click to show clarification.Clarification:What constitutes a word?A sequence of non-space characters constitutes a word.Could the input string contain leading or trailing spaces?Yes. However, your reversed string should not contain leading or trailing spaces.How about multiple spaces between two words?Reduce them to a single space in the reversed string.

這道題很直接的想法就是用String的split函數(shù),把字符串按空格分成一個個子字符串,存到一個String[] strs里面,這時再把strs里的字符串從大到小反轉(zhuǎn)連接,中間加上空格就好了。需要注意如果原來的字符串有multiple spaces, 那會造成我們strs數(shù)組里面有一些子字符串是空字符串,我們反轉(zhuǎn)時若遇到這些空字符串,就要把它跳過。時間上split操作是O(N),再一次掃描獲得結(jié)果,也是O(N)。空間上使用了一個String[] 和StringBuffer,也是O(N)

本題就是需要注意一些語法,比如split函數(shù)的參數(shù)是String而不能是Char。我寫的時候不小心再一次犯了低級錯誤,String判斷是不是空字符串一定不要寫成if (str == ""), 要么用equals(), 要么用length()==0來判斷

注意 split()函數(shù)argument是一個string而不是char

 1 public class Solution { 2     public String reverseWords(String s) { 3         if (s==null || s.length()==0) return s; 4         s.trim(); 5         String[] strs = s.split(" "); 6         StringBuffer res = new StringBuffer(); 7         for (int i=strs.length-1; i>=0; i--) { 8             if (strs[i].length() == 0) continue; 9             res.append(strs[i]);10             res.append(' ');11         }12         return res.toString().trim();13     }14 }


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 密云县| 衡山县| 铜梁县| 五常市| 嘉义市| 马龙县| 晋宁县| 绥宁县| 邢台市| 松阳县| 西充县| 漳浦县| 威远县| 金昌市| 凤山市| 滦南县| 建德市| 明溪县| 攀枝花市| 长海县| 三河市| 富川| 富民县| 绥棱县| 灌云县| 枣强县| 郓城县| 咸宁市| 喀喇沁旗| 眉山市| 乃东县| 九江县| 永顺县| 郓城县| 江西省| 新闻| 攀枝花市| 明溪县| 错那县| 舞阳县| 通许县|