判斷字串是否可以通過迴圈移位得到

2022-07-19 03:03:12 字數 522 閱讀 7727

package

演算法;/**

* 字串abcd,可以由字串bcda或者cdab通過迴圈移位而得到。

* 請程式設計實現以下檢測:字串s1是否可以由字串s2通 過迴圈移位而得到。

* 語言不限(推薦c/c++,不推薦寫偽碼)

* @author

chengpeng *

*/public

class

rotatestring

}public

static

void

main(string args)

private

static string rotate(string str, int

i)

public

static

boolean

isrotate(string s1, string s2)

return

false

; }

}

字串迴圈移位

把字串移動n位。可以乙個乙個移動,這樣的話,要移動n次,每次移動len個。演算法時間複雜度為o n len 也可以開闢乙個新的記憶體,把移動的最終位置計算出來,直接放到那裡即可,這樣時間負責度為o 1 空間複雜度為o len 除此之外,還有時間負責度為o 1 空間負責度也為o 1 的演算法。第一種方...

字串迴圈移位

首先,先看看如何對數字進行迴圈移位 c語言中沒有提供迴圈移位的操作符,但可以通過簡潔的方式實現迴圈移位,主要使用移位操作來實現。設乙個運算元x有s位則迴圈左移n位的操作為 x n x s n 同理右移n位位 x n x s n 實際程式設計中可以用巨集定義實現迴圈移位 define rotate l...

字串迴圈移位

問題描述 給定乙個字串,把字串前k個字元移動到尾部。例 字串 abcdefg 左移3為變成 defgabc 解決思路 引入矩陣中 a b ba的思想 a 為a的轉置矩陣 比如 abc cba,defg gfed,cbagfed defgabc。這樣的演算法時間複雜度是o n 空間複雜度是o 1 如下...