[LeetCode] Length of Last Word - 最后一个单词的长度
題目概述:
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.
If the last word does not exist, return 0.
Note: A word is defined as a character sequence consists of non-space characters only.
For example,?
Given s = "Hello World",
return 5.
題目解析:
在字符串含空格中計算最后一個單詞的長度,主要考察字符串操作。最初我采用尋找空格找到最后一個單詞的起始位置begin,計算該單詞的長度end-begin即可。但是會遇到各種錯誤,如:
? ? ? ? 1.全空格字符串 如' ? ? ' 返回0
? ? ? ? 2.最后一個單詞后面存在空格 如'day ? ' 返回3
? ? ? ? 3.單詞前面存在多個空格 如' ? ?day' 返回3
? ? ? ? 4.復雜的情況 如' ?ab day ' 返回3
最后修改成判斷當前字符不是空格時計數,有效避免全空格等用例。(作者AC的第一題)
我的代碼:
int lengthOfLastWord(char* s) {int length; //數組長度int num=0; //返回最后一個單詞的長度int i,j;length = strlen(s);for(i=0; i<length; i++){//建議當不是空格時計數 避免全空格if(s[i]!=' ') {num=0;for(j=i; j<length && s[j]!=' '; j++) { //計算單詞長度 始終記錄最后一個單詞num++;}i=j; //防止出現計算單詞'word'后再計算'ord'覆蓋前一個長度 if(j>=length) break; //最后一個單詞時直接跳出循環}}return num; }
推薦代碼:
心得感受:
? ? ? ? 最近找工作發現很多基礎的東西都忘記了,同時看《編程之美》、《劍指offer》又心不在焉,怎么辦呢?只好找回自己最初的狀態,督促自己A題來撿起遺忘的基礎知識。LeetCode就是一個監督的平臺吧!網上關于它的代碼非常之多,我只想記錄自己一些A題心得和當前的狀態。作者真心想找到一份工作,開始新的生活,享受編程的樂趣了。
? ? ? ? 雖然我已經想好了不論去到什么公司都認認真真地學習干三五年,但在這之前當下這種找工作的隨意心態還是需要改正,需要付出和認真對待。當然并不是寫博客的人就多么的厲害(很多牛人只專注于編碼),并不是學習好的就多么的有成就,并不是找到好工作后就能抓住幸福,但是腳踏實地的做事和享受編程分享的樂趣還是永存的。
? ? ? ? 正如錢鐘書在《圍城》里說的一樣:“城外的人拼命往里擠,城里的人拼命往外跑”。其實不管是城里人還是城外人,所做的一切,無非就是為了幸福。然后幸福在哪里?所以且行且珍惜,享受生活和工作,換種心態,程序員的生活同樣美好!
(By:Eastmount 2015-9-8 晚上5點半? ?http://blog.csdn.net/eastmount/)
總結
以上是生活随笔為你收集整理的[LeetCode] Length of Last Word - 最后一个单词的长度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Python爬虫] Selenium获
- 下一篇: [LeetCode] Add Digit