前往
大廳
主題

LeetCode - 2490. Circular Sentence 解題心得

Not In My Back Yard | 2023-05-18 12:00:22 | 巴幣 100 | 人氣 95

題目連結:


題目意譯:
一個句子為一個字詞之列表,其中每個字詞由單一一個空白分隔並且沒有任何前導或末尾空白。

例如說,"Hello World" 、 "HELLO" 、 "hello world hello world" 都是句子。

字詞只由大小寫英文字母組成。大小寫視為不同。

一個句子是環狀的,代表:
一個字詞的最後一個字元等於下一個字詞的第一個字元、
最後一個字詞的最後一個字元等於第一個字詞的第一個字元。

例如,"leetcode exercises sound delightful" 、 "eetcode" 、 "leetcode eats soul" 為環狀句子。而 "Leetcode is cool" 、 "happy Leetcode" 、 "Leetcode" 則不是。

給定一字串 sentence,如果其為環狀的,則回傳真(True);反之,回傳假(False)。

限制:
1 ≦ sentence.length ≦ 500
sentence 只由大小寫英文字母以及空白組成。
句子中的字詞由單一一個空白隔開。
句子中沒有前導或末尾空白。



範例測資:
範例 1:
輸入: sentence = "leetcode exercises sound delightful"
輸出: true
解釋: sentence 中的字詞為 ["leetcode", "exercises", "sound", "delightful"]。
- leetcode 的最後一個字元等於 exercises 的第一個字元。
- exercises 的最後一個字元等於 sound 的第一個字元。
- sound 的最後一個字元等於 delightful 的第一個字元。
- delightful 的最後一個字元等於 leetcode 的第一個字元。
因此 sentence 為環狀的。

範例 2:
輸入: sentence = "eetcode"
輸出: true
解釋: sentence 中的字詞為 ["eetcode"]。
- eetcode 的最後一個字元等於 eetcode 的第一個字元。
因此 sentence 為環狀的。

範例 3:
輸入: sentence = "Leetcode is cool"
輸出: false
解釋: sentence 中的字詞為 ["Leetcode", "is", "cool"]。
- Leetcode 的最後一個字元不等於 is 的第一個字元。
因此 sentence 不是環狀的。


解題思維:
由於每一個字詞之間只有一個空白,所以我們只需要掃過一次 sentence,然後對於每個空白判斷其左右的字母是否都一樣即可(不過記得要額外檢查第一個字母和最後一個字母是否一致)。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作