【九度OJ1362】|【劍指offer42】左旋轉字符串

題目描述: java

彙編語言中有一種移位指令叫作循環左移(ROL),如今有個簡單的任務,就是用字符串 模擬這個指令的運算結果。對於一個給定的字符序列S,請你把其循環左移K位後的序列輸出。例如,字符序列S=」abcXYZdef」,要求輸出循環左移3 位後的結果,即「XYZdefabc」。是否是很簡單?OK,搞定它!
輸入:
多組測試數據,每一個測試數據包含一個字符序列S和非負整數K。其中S的長度不超過1000。
輸出:
對應每一個測試案例,輸出新序列。
樣例輸入:
UDBOJ 4
abba 1
樣例輸出:
JUDBO
bbaa

解: 測試

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;

/**
 * 左旋轉字符串
 * 19時38分24秒
 * @author aqia358
 * 19時47分16秒
 *
 */
public class Main {

	public void move(String s, int n){
		int len = s.length();
		String part1 = s.substring(0, n%len);
		String part2 = s.substring(n%len, len);
		System.out.println(part2+part1);
	}
	
	public static void main(String[] args) throws IOException {
		Main m = new Main();
		StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
		while(st.nextToken() != StreamTokenizer.TT_EOF){
			String str = st.sval;
			st.nextToken();
			int n = (int)st.nval;
			m.move(str, n);
		}
	}

}
相關文章
相關標籤/搜索