亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

宁阳县| 周口市| 武宣县| 铁力市| 焦作市| 临武县| 自治县| 沾化县| 沂水县| 濉溪县| 广河县| 富顺县| 桦南县| 鹿泉市| 华坪县| 赣州市| 长海县| 城口县| 宁陵县| 文山县| 广西| 株洲市| 平谷区| 荔波县| 多伦县| 江北区| 阆中市| 米脂县| 密云县| 秦皇岛市| 南京市| 建阳市| 通河县| 青岛市| 将乐县| 白山市| 伊春市| 乌什县| 稻城县| 临湘市| 循化|