剑指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);
    }
}

 

posted @ 2019-06-27 21:43  WeiMLing  阅读(186)  评论(0编辑  收藏  举报