1. 題目:給定乙個字串,單詞以' '或'\t'間隔,返回字串中的單詞個數。如輸入:"\t ab\tc drf e ffrt\tert",輸出為6。
2. 解答:
(1)我的思路:遍歷字串,遇到非' '或'\t',則count++,然後while迴圈跳過之後的所有非' '或'\t';如果是' '或'\t',然後while迴圈跳過所有的' '或'\t'。這樣每次遇到非' '或'\t',就說明新的單詞出現了。
(2)**給出的思路,設定乙個inword flag。如果正在訪問的字元在單詞內部,則inword為true;如果正在訪問的字元在單詞外部,則inword為false。初始值為false。這種方法沒有考慮'\t'的情況。
(3)兩種方法的比較:(1)比較直觀,過濾掉' '或'\t',每次出現字母即出現新的單詞;(2)思想是什麼情況下代表新單詞的出現,當inword為false,並且當前訪問的是非空格時,即表示新的單詞出現;當inword為true,並且當前訪問的是字元是空格時,將inword置為false。
3. **:
view code
1//思路1**
2int wordcount(char*str)316
}17else
1825}26
}27return
count;28}
2930
//思路2**
31int countnumwords(const
char *str)
40else
if (inword && *str == '
')
43 str++;
44}
45return
wordcount; 46}
4748
intmain()
49
字串中的單詞數
字串中的單詞數 統計字串中的單詞個數,這裡的單詞指的是連續的不是空格的字元。請注意,你可以假定字串裡不包括任何不可列印的字元。示例 輸入 hello,my name is john 輸出 5 解釋 這裡的單詞是指連續的不是空格的字元,所以 hello,算作 1 個單詞。這道題考察了string的兩個...
求給定字串中包含單詞的個數
字串只包含0 9十個數字,26個英文本母,英文標點符號,感嘆號,逗號,句號,連線符,問號,雙引號一共六個標點 符號。標點符號不算單詞,連線符連線的單詞算多個,例如 hello ni hao.這個算作三個單詞。例如 123q qqq 345,這個也算三個單詞。include include inclu...
Leedcode 字串中的單詞數
統計字串中的單詞個數,這裡的單詞指的是連續的不是空格的字元。請注意,你可以假定字串裡不包括任何不可列印的字元。示例 輸入 hello,my name is john 輸出 5此題較簡單,注意審題,單詞是指連續的不是空格的字元,即以空格做區分 另外還需注意的是判斷字串的最後乙個字元是不是空格,如果是空...