/*************************************************************************
> File Name: 42_LeftRotateString.c
> Author: Juntaran
> Mail: JuntaranMail@gmail.com
> Created Time: 2016年09月04日 星期日 16时31分43秒
************************************************************************/ #include <stdio.h>
#include <string.h> // 反转单词
void ReverseWord(char* left, char* right)
{
if (left== NULL || right==NULL)
return;
while (left < right)
{
char temp = *left;
*left = *right;
*right = temp; left ++;
right --;
}
} void LeftRotateString(char* str, int n)
{
if (str == NULL || n<=)
return str; int length = strlen(str);
// n可能超过字符串长度
n = n % length; // 第一部分
char* FirstStart = str;
char* FirstEnd = str + n - ; // 第二部分
char* SecondStart = str + n;
char* SecondEnd = str + length - ; // 先反转第一部分
ReverseWord(FirstStart, FirstEnd);
// 再反转第二部分
ReverseWord(SecondStart, SecondEnd);
// 整体反转
ReverseWord(FirstStart, SecondEnd);
} int main()
{
char str[] = "abcdefg";
int n = ; LeftRotateString(str, n);
printf("%s\n", str);
}

剑指Offer42 左旋字符串的更多相关文章

  1. 剑指Offer:字符串排列【38】

    剑指Offer:字符串排列[38] 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bc ...

  2. 剑指 Offer 38. 字符串的排列 + 无重复元素的全排列

    剑指 Offer 38. 字符串的排列 Offer_38 题目描述 解题思路 可以使用递归实现全排列,每次都确定一个数的位置,当所有位置的数都确定后即表示一个排列. 但是考虑到本题需要排除重复的排列, ...

  3. 剑指 Offer 38. 字符串的排列

    剑指 Offer 38. 字符串的排列 输入一个字符串,打印出该字符串中字符的所有排列. 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. 示例: 输入:s = "abc" ...

  4. 【剑指Offer】字符串的排列 解题报告(Python)

    [剑指Offer]字符串的排列 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题 ...

  5. 【Java】 剑指offer(38) 字符串的排列

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串ab ...

  6. 【Java】 剑指offer(50-1) 字符串中第一个只出现一次的字符

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 在字符串中找出第一个只出现一次的字符.如输入"abacc ...

  7. 【剑指offer】字符串的组合

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/mmc_maodun/article/details/26405471 转载请注明出处:http:// ...

  8. 剑指offer 67. 字符串转换为整数(Leetcode 8. String to Integer (atoi))

    题目:剑指offer 67题 需要考虑的情况:空指针.nullptr.空字符串"".正负号.数值溢出.在写代码的时候对这些特殊的输入都定义好合理的输出.可以定义一个全局布尔型变量g ...

  9. Go语言实现:【剑指offer】字符串的排列

    该题目来源于牛客网<剑指offer>专题. 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,b ...

随机推荐

  1. 当WEB站点应用程序池标识为ApplicationPoolIdentity,出现运行错误时的解决方法

    对于数据库文件加Authenticated Users用户,并授予完全权限.

  2. android Intent的startActivityForResult()方法

    startActivityForResult() 之前学习了利用Intent跳转页面的同时传值,但有的时候需要从跳转到的页面返回所需要的值(如修改了用户信息,需要返回修改的信息),通俗的意思就是A.A ...

  3. Server-U_详细配置

    1.首先绿化 Server-U,运行 2.打开Server-U自动弹出如下图:如果不自动弹出,那点击界面上的 新建域  ------ 先有域再有用户,用户在域里面 4. 输入“名称”和“说明”,其中“ ...

  4. ASP.net 服务器监控

    参考代码: 1,页面 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SMP ...

  5. 转载:linux vi命令详解

    转自:http://www.cnblogs.com/mahang/archive/2011/09/01/2161672.html 刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编 ...

  6. PHP抓取豆瓣读书爬虫代码

    <?php//演示地址 http://asizu.sinaapp.com/reptile_douban.php//数据量不是特别大,没有写抓完数据便停止. 喜欢的朋友拿去自己改改就好了 head ...

  7. 使用U盘安装Ubuntu系统的实践小结

    参考教程:http://diybbs.zol.com.cn/1/33925_1942.html   遇到的问题:安装ubuntu 12.04 64位,提示缺少“/casper/vmlinuz.efi ...

  8. 【转】【公司调查】车来了APP

    http://blog.sina.com.cn/s/blog_83b10acc0102vk7k.html   [APP简介] "车来了"是武汉元光科技有限公司开发的一款查询公交车实 ...

  9. Synchronization in Delphi TThread class : Synchronize, Queue

    http://embarcadero.newsgroups.archived.at/public.delphi.rtl/201112/1112035763.html > Hi,>> ...

  10. The Aggregate Magic Algorithms

    http://aggregate.org/MAGIC/ The Aggregate Magic Algorithms There are lots of people and places that ...