leetcode 344 反轉字串

2021-10-08 07:12:29 字數 806 閱讀 6432

字串 & 簡單

編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列 char 的形式給出。

不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列、使用 o(1) 的額外空間解決這一問題。

你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。

示例 1:

輸入:[「h」,「e」,「l」,「l」,「o」]

輸出:[「o」,「l」,「l」,「e」,「h」]

示例 2:

輸入:[「h」,「a」,「n」,「n」,「a」,「h」]

輸出:[「h」,「a」,「n」,「n」,「a」,「h」]

方法1:雙指標,從前往後和從後往前。

class

solution

}}

方法1的改進:增加了異或運算,也就是位運算

1.位運算知識科普: 異或運算子: 兩個命題的布林值只有在不一樣時才為真, 即兩個選擇你不能同時選, 也不能都不選, 有且只能選其中乙個. 例子: 餐廳中, 服務員問開胃菜要湯還是沙拉. 這就是異或的其中乙個例子, 即你必須選一樣, 至少正常消費是這樣. 接著來看數**算. 公式例子: 0異或0, 都不選, 肯定錯, 1異或1, 也不行, 1異或0, 選且只選乙個, 結果為真.

2.所以, 產生這麼一種結論.在數值運算當中, 當乙個數對另乙個數異或兩次, 其數值不變. 另外記住, 這也是在不引進第三方變數情況下, 常用的交換兩個數值的值的手法.

class

solution

}}

leetcode344 反轉字串

思想 題目要求編寫乙個函式,其作用是將輸入的字串反轉過來。class solution object def reversestring self,s type s str rtype str return s 1 知識點 a 0,1,2,3,4,5,6,7,8,9 b a i j 表示複製a i ...

leetcode344 反轉字串

編寫乙個函式,其作用是將輸入的字串反轉過來。編寫乙個函式,其作用是將輸入的字串反轉過來。示例 1 輸入 hello 輸出 olleh 示例 2 輸入 a man,a plan,a canal panama 輸出 amanap lanac a nalp a nam a 首先想到的是這個 class s...

leetcode 344 反轉字串

題目 344.反轉字串 編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列char的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 1 輸入 h e l l o ...