您好,登錄后才能下訂單哦!
【題目描述】
Given a string and an offset, rotate string by offset. (rotate from left to right)
給定一個字符串和一個偏移量,根據偏移量旋轉字符串(從左向右旋轉)
【題目鏈接】
http://www.lintcode.com/en/problem/rotate-string/
【題目解析】
常見的翻轉法應用題,仔細觀察規律可知翻轉的分割點在從數組末尾數起的offset位置。先翻轉前半部分,隨后翻轉后半部分,最后整體翻轉。
源碼分析:異常處理,A為空或者其長度為0;offset可能超出A的大小,應模len后再用;三步翻轉法。Python 雖沒有提供字符串的翻轉,但用 slice 非常容易實現,非常 Pythonic!
復雜度分析:翻轉一次時間復雜度近似為 O(n)O(n)O(n), 原地交換,空間復雜度為 O(1)O(1)O(1). 總共翻轉3次,總的時間復雜度為 O(n)O(n)O(n), 空間復雜度為 O(1)O(1)O(1).
【答案鏈接】
http://www.jiuzhang.com/solution/rotate-string/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。