程式設計實踐筆記No.17
阿新 • • 發佈:2021-01-30
技術標籤:程式設計實踐
程式設計實踐筆記No.17
寫在最前面,程式設計一直是我的短板,希望在leetcode練習中獲得進步!
參考Datawhale組隊學習中“LeetCodeTencent”
題目一344 反轉字串
編寫一個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列 char[] 的形式給出。
不要給另外的陣列分配額外的空間,你必須原地 修改輸入陣列、使用 O(1) 的額外空間解決這一問題。
雙指標
指標 left 與 right 列表兩側,指向的物件進行交換
當兩指標相遇時,結束返回新列表。
程式碼
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
leight = len(s)
left = 0
right = leight -1
while left < right:
t = s[left]
s[left] = s[right]
s[right] = t
left +=1
right-=1
return s
題目二 238 除自身以外陣列的乘積
給定長度為 n 的整數陣列 nums,其中 n > 1,返回輸出陣列 output,其中 output[i] 等於 nums 中除 nums[i] 之外其餘各元素的乘積。
按詞讀取
詞中進行反轉
程式碼
class Solution:
def reverseWords(self, s: str) -> str:
return " ".join(word[::-1] for word in s.split(" "))