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

 

全部评论

相关推荐

头像
03-05 09:50
C++
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务