https://leetcode.com/problems/reverse-prefix-of-word
2000. Reverse Prefix of Word
給定一string與一character 找到該character 假定該character的index為i
翻轉word[0]到[i]並回傳 假設無該character 回傳原word
For example, if word = "abcdefd" and ch = "d", then you should reverse the
segment that starts at 0 and ends at 3 (inclusive). The resulting string will
be "dcbaefd".
Return the resulting string.
Example 1:
Input: word = "abcdefd", ch = "d"
Output: "dcbaefd"
Explanation: The first occurrence of "d" is at index 3.
Reverse the part of word from 0 to 3 (inclusive), the resulting string is
"dcbaefd".
Example 2:
Input: word = "xyxzxe", ch = "z"
Output: "zxyxxe"
Explanation: The first and only occurrence of "z" is at index 3.
Reverse the part of word from 0 to 3 (inclusive), the resulting string is
"zxyxxe".
Example 3:
Input: word = "abcd", ch = "z"
Output: "abcd"
Explanation: "z" does not exist in word.
You should not do any reverse operation, the resulting string is "abcd".
Constraints:
1 <= word.length <= 250
word consists of lowercase English letters.
ch is a lowercase English letter.
思路:
遍歷字串尋找字母 開個list記錄找過的字母
找到目標字母就翻轉list然後加上沒找過的部分並回傳
沒找到回傳原字串
Python Code:
class Solution:
def reversePrefix(self, word: str, ch: str) -> str:
result = []
for i in range(len(word)):
if word[i] == ch:
result.append(word[i])
return "".join(reversed(result))+word[i+1:]
result.append(word[i])
return word