91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LeetCode中如何實現左旋轉字符串

發布時間:2021-12-15 14:01:46 來源:億速云 閱讀:100 作者:小新 欄目:大數據

這篇文章主要介紹LeetCode中如何實現左旋轉字符串,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

題目描述

字符串的左旋轉操作是把字符串前面的若干個字符轉移到字符串的尾部。請定義一個函數實現字符串左旋轉操作的功能。比如,輸入字符串"abcdefg"和數字 2,該函數將返回左旋轉兩位得到的結果"cdefgab"。

  • 1 <= k < s.length <= 10000
               

題目樣例

               

示例

  • 輸入: s = "abcdefg", k = 2

  • 輸出: "cdefgab"

  • 輸入: s = "lrloseumgh", k = 6

  • 輸出: "umghlrlose"

               

題目思考

  1. 如果要求不能使用語言內置函數, 該如何做?
               

解決方案

               

方案 1

               
思路
  • 根據題目描述, 使用 python 的話完全可以直接利用切片, 一行代碼來搞定..
               
復雜度
  • 時間復雜度 O(N): 切片的時間復雜度
  • 空間復雜度 O(1): 只使用了幾個變量
               
代碼
class Solution:
    def reverseLeftWords(self, s: str, n: int) -> str:
        # 切片
        return s[n:] + s[0:n]
                                 

方案 2

               
思路
  • 如果要求不能使用語言內置函數, 又該怎么做呢?
  • 很顯然我們可以從下標為 k 的地方開始遍歷, 將后面的字符依次加入結果中
  • 遍歷到末尾后, 再從 0 開始遍歷到 k, 將這部分字符再加入結果中即可
  • 這種方案跟語言無關, 比較通用, 只是通常情況下沒必要, 因為內置操作會有一些優化, 一般會比自己實現的效率高..
               
復雜度
  • 時間復雜度 O(N): 每個字符只遍歷一次
  • 空間復雜度 O(1): 只使用了幾個變量
               
代碼
class Solution:
    def reverseLeftWords(self, s: str, n: int) -> str:
        res = ''
        for i in range(n, len(s)):
            res += s[i]
        for i in range(n):
            res += s[i]
        return res

以上是“LeetCode中如何實現左旋轉字符串”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜城县| 怀宁县| 江阴市| 扬州市| 饶平县| 米易县| 兴国县| 建始县| 崇左市| 清水河县| 麟游县| 耒阳市| 获嘉县| 女性| 贺兰县| 保亭| 黔江区| 武城县| 繁昌县| 比如县| 通海县| 金溪县| 顺义区| 牙克石市| 砚山县| 察哈| 阜南县| 浦江县| 南皮县| 伊金霍洛旗| 贡觉县| 德格县| 太湖县| 濮阳县| 游戏| 翁源县| 福海县| 建瓯市| 平山县| 和静县| 昌图县|