劍指offer(42):左旋轉字串
阿新 • • 發佈:2020-09-21
題目描述
組合語言中有一種移位指令叫做迴圈左移(ROL),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於一個給定的字元序列S,請你把其迴圈左移K位後的序列輸出。例如,字元序列S=”abcXYZdef”,要求輸出迴圈左移3位後的結果,即“XYZdefabc”。是不是很簡單?OK,搞定它! 思路:使用C++ string內建函式substr函式可得到子串,或者java的substring函式,但是該方法太過簡單,沒有涉及到演算法問題class Solution { public: string LeftRotateString(string str, int n) {if(n>str.length()) return ""; string sub = str.substr(0,n); string suf = str.substr(n); return suf.append(sub); } };
public class Solution { public String LeftRotateString(String str,int n) { if(n>str.length()) return ""; String sub = str.substring(0,n); String suf= str.substring(n); return suf+sub; } }