python(leetcode)-344反転文字列

4091 ワード

python(leetcode)-344反転文字列
      ,               。           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"]

この問題は比較的簡単で、pythonで完成すれば便利です.
前の単純なコード(192 ms)で13%を破った
 1 class Solution:
 2     def reverseString(self, s):
 3         """
 4         :type s: List[str]
 5         :rtype: void Do not return anything, modify s in-place instead.
 6         """
 7         s[:]=s[::-1]
 8 
 9 if __name__=="__main__":
10     s=Solution()
11     list = [1,2,3]
12     print(s.reverseString(list))

非常に簡潔で1行前半の文s[:]はsのすべての遍歴であり、後半の文を言う意味-1はステップ長が1であり、逆順であることを表す.だから、文全体の意味はチェーンテーブルに戻ることです.
 
従来のやり方を変える(200 msで)
 1 class Solution:
 2     def reverseString(self, s):
 3         """
 4         :type s: List[str]
 5         :rtype: void Do not return anything, modify s in-place instead.
 6         """
 7         for i in range(len(s) // 2):
 8             temp = s[i]
 9             s[i] = s[-i - 1]
10             s[-i - 1] = temp
11 
12 if __name__=="__main__":
13     s=Solution()
14     list = [1,2,3]
15     print(s.reverseString(list))

あまり説明する必要はありません.逆に値をつけます.
posted @
2019-02-20 11:49剣峰随心読書(
...) コメント(
...) コレクションの編集