統計乙個字串的最後單詞的長度

2021-06-27 13:21:54 字數 884 閱讀 7217

這道題目被歸為簡單題目,對我來講,卻不覺得簡單。

有些題目是演算法題,有些題目是細節題。演算法往往難想,細節往往難以實現。

兩者無論哪個存在難度,都不能算是簡單題。

這道題目難度在於,直觀上要分很多種情況討論,而實際上可以做簡單歸納,是難度大大降低。而歸納、提煉能力又有幾個人能做好呢?所以此題很難。

不同的case:

(1)""

(2)"a"

(3)"       "

(4)"a    b        "

(5)"abcd"

(6)"a "

解決這道題,如果思路錯了就會很麻煩。例如,如果採用兩指標法,就會繁瑣,因為兩個指標的位置關係沒有乙個不變式。如果這個思路不可行,就要及時切換。例如:

(1)從後向前掃瞄,因為只統計最後單詞長度,所以如此切入,問題就簡單很多。只用考慮空格和越界就夠了。

int lengthoflastword(const char *s)  

} return 0;

}

(2)再者還是從前往後。但是,不考慮迭代過程中的其他情況,只考慮最後乙個單詞的長度。

int lengthoflastword(const char *s) 

return cnt;

}

簡化版:

int lengthoflastword(const char *s) 

return lastlen;

}

(3)也可以領用stringstream的,但是這種做法不提倡

int lengthoflastword(const char *s)

華為oj 字串最後乙個字元的長度

華為新版oj的第一題,新版好多bug!還是喜歡老版本的介面,新版本這麼小清新的介面不適合我。string 類提供字串處理函式 利用這些函式,程式設計師可以在字串內查詢字元,提取連續字串行 稱為子串 以及在字串中刪除和新增。例如 在字串中查詢單個字元c。函式find first of 查詢在字串中第1...

計算乙個字串的長度

方法一 include intmystrlen const char arr 長度不可修改,所以定義為const return count 返回字串的長度 int main 方法二 include intmystrlen const char arr 長度不可修改,所以定義為const return...

刪除字串最後乙個字元的方法

一 關於stringbuffer stringbuffer sb new stringbuffer abcdef while sb.charat sb.length 1 sb.charat sb.length 1 t sb.deletecharat sb.length 1 system.out.pr...