C语言:实现一个函数,可以左旋字符串中的k个字符。

原创 2016年05月30日 17:14:35

左旋字符串k个字符(三步):

旋转前k个字符串,选择n- k个字符串,旋转整个字符串。


#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include <string.h>
#include<stdlib.h>


void Reverse(char* left, char* right)
{
    while (left < right)
    {
        char tmp = *left;
        *left = *right;
        *right = tmp;
        left++;
        right--;
    }
}


int main()
{
    char arr[] = "AABCD";
    int k = 0;
    scanf("%d", &k);
    int len = strlen(arr);

    Reverse(arr, arr + k - 1);
    Reverse(arr + k, arr + len - 1);
    Reverse(arr, arr + len - 1);

    printf("%s", arr);
    system("pause");
    return 0;
}


相关文章推荐

实现一个函数,可以左旋字符串中的k个字符

实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA...

实现一个函数,可以左旋字符串中的k个字符(不同复杂度的算法)

实现一个函数,可以左旋字符串中的k个字符(不同复杂度的算法) 例如: AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 简单分析一下: 1、左旋字符自身长度时,等于...

把一个字符串左旋k个字符的2种方法

第一种是一个字符一个字符的左移,把第一个字符存临时变量里面,把后面的字符每一个往前移动一个位置,‘\0’不移动,然后把临时变量的值放在‘\0’前面的位置。这样重复k次; 第二种是把需要左移的k个字符...

左旋字符串K个字符的3种实现方法

第一种是先保存字符串第一个字符,然后循环实现。#include #include #include void strShift(char *str, int len, int step) ...

1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1

1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 将一个字符串左旋k个,首先想到将一个字符串左旋一个,然后把得到的这个新字符...

C语言strncpy()函数:复制字符串的前n个字符

头文件:#include #include #include int main(void){ char dest1[20]; char src1[] = "abc"; int ...

C语言之——左旋字符串

如:ABCDE左旋一位是BCDEA;左旋两位是CDEAB。 方法一:循环左移法。 先将第一次字符拿出,然后将后面的字符依次向左移1位,刚好最后一个字符空出,把第一个字符放入,当然这里面考虑到这个字符串...

【每天学点算法题10.15】指定一个字符串,对字符串左旋K位

题目描述:指定一个字符串,进行左旋k位操作。即字符串的前k位字符移到字符串的尾部,形成新的字符串。如把字符串abcdef左旋3位,得到defabc。要求对长度为n的字符串,时间复杂度为O(n)。 ...
  • dyoyo90
  • dyoyo90
  • 2013年10月15日 11:43
  • 558

【C语言】为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。

/*为下面的函数原型编写函数定义:int ascii_to_integer(char *str);这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数...

【2013微软校招面试题】求给定的一个字符串最小需要添加多少个字符才能成为回文串

/*  *  给一个字符串s,求出需要最少添加多少个字符才能够使其成为回文串。  *  例如:输入 abc,则需要添加两个字符, abcba, 则输出2;  *        输入 aabb,则...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言:实现一个函数,可以左旋字符串中的k个字符。
举报原因:
原因补充:

(最多只允许输入30个字)