剑指Offer的学习笔记(C#篇)-- 左旋转字符串
题目描述
汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
一 . 题目解析
这个题目借用一个Remove函数。也是比较好想的一个题目。
举例子吧。ABC DEF -- -- DEF ABC (变前三位就这样了)
用两个Remove函数,第一个移除前三位;第二个移除后三位。最后想加即可。
二 . 代码实现
class Solution { public string LeftRotateString(string str, int n) { // write code here if (n > str.Length || n == 0) { return str; } if (str == null) { return null; } int x = str.Length; string a = str.Remove(0,n); string b = str.Remove(n,str.Length-n); return (a+b); } }