LeetCode,leetcodeoj

來源:互聯網
上載者:User

LeetCode,leetcodeoj

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. 

這道題的要求是返回字串中最後一個單詞的長度。

遍曆字串,統計單詞長度。只有一點需要注意,就是最後單詞後面有空格的情況,因此需要判斷下一字元是否是字母,如果是,這重設長度為0即可。

時間複雜度:O(n)

空間複雜度:O(1)

 1 class Solution 2 { 3 public: 4     int lengthOfLastWord(const char *s) 5     { 6         int l = 0; 7         while(*s) 8         { 9             if(' ' != *s ++)10                 ++ l;11             else if(*s && ' ' != *s)12                 l = 0;13         }14         return l;15     }16 };

當然,也可以引入計數器遍曆cnt用於記錄當前單詞長度,只有當cnt加1的時候,更新結果變數res。

 1 class Solution 2 { 3 public: 4     int lengthOfLastWord(const char *s) 5     { 6         int res = 0, cnt = 0; 7         while(*s) 8         { 9             if(' ' == *s ++)10                 cnt = 0;11             else12                 res =  ++ cnt;13         }14         return res;15     }16 };

轉載請說明出處:LeetCode --- 58. Insert Interval

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.