演算法練習篇之 左右旋轉字串

2021-09-29 11:50:27 字數 704 閱讀 7109

組合語言中有一種移位指令叫做迴圈左移(rol),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s=」abcxyzdef」,要求輸出迴圈左移3位後的結果,即「xyzdefabc」。是不是很簡單?ok,搞定它!

按照題目意思,相當於將乙個字串按索引n分為兩部分,然後再進行拼接,將第一部分放在第二部分的末尾,即完成迴圈左移的操作。可以借助string中的substring來幫助實現!

去部落格設定頁面,選擇一款你喜歡的**片高亮樣式,下面展示同樣高亮的**片.

public

class

leftrotatestring

n=n%len;

//迴圈移位的位數可能大於字串長度len,所以進行取餘運算

string s1=str.

substring

(n,len)

; string s2=str.

substring(0

,n);

return s1+s2;

}public

static

void

main

(string[

] args)

}

覺得本部落格有用的客官,可以給個贊鼓勵下! 嘿嘿

字串左右旋轉問題

首先說明下所謂 字串左右旋轉 是指什麼 如字串 abcdefg 左旋2位,結果應該是 cdefgab 再對 cdefgab 右旋2位,結果應該是 abcdefg 即 左旋n位 字串的前n位由首部移到尾部,右旋n位 字串的後n位由尾部移到首部。n strlen 字串 1 直觀的常規方法 直觀方法就是依...

C高階 字串左右旋轉

明確 字串左右旋轉 是指什麼?怎樣進行字串的旋轉?解題思路 最直接的方法就是依次移位處理 左旋n位 字串的前n位由首部移到尾部,右旋n位 字串的後n位由尾部移到首部。n strlen 字串 字串長度計算 len strlen str 字串左旋 寫乙個函式,可以實現字串左旋k個字元 舉例 abcd 左...

字串左右旋

點 技巧性問題 題意 如字串1234567890,希望旋轉為5678901234 常見面試題 思路 還是那句話,這類題,絕對是各種技巧去解決,遞迴 迴圈 雙向相遇 快慢指標 各種其他技巧。具體到本題,直接交換的話實現起來甚至還非常麻煩,比如5不能和1交換,因為最後兩個字元90怎麼辦,這種情況程式很難...