【劍指offer】左旋轉字串
轉載請註明出處:http://blog.csdn.net/ns_code/article/details/27366485
- 題目描述:
- 組合語言中有一種移位指令叫做迴圈左移(ROL),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於一個給定的字元序列S,請你把其迴圈左移K位後的序列輸出。例如,字元序列S=”abcXYZdef”,要求輸出迴圈左移3位後的結果,即“XYZdefabc”。是不是很簡單?OK,搞定它!
- 輸入:
- 多組測試資料,每個測試資料包含一個字元序列S和非負整數K。其中S的長度不超過1000。
- 輸出:
- 對應每個測試案例,輸出新序列。
- 樣例輸入:
UDBOJ 4 abba 1
- 樣例輸出:
JUDBO bbaa
AC程式碼如下:
#include<stdio.h>
#include<string.h>
void Swap(char *a,char *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
/*
翻轉字串中從start到end的這部分
*/
void ReverseString(char *str,int start,int end)
{
while(start < end)
{
Swap(&str[start],&str[end]);
start++;
end--;
}
}
/*
求左旋k位後得到的字元
*/
void ROLString(char *str,int k)
{
if(str == NULL || k<=0)
return;
int len = strlen(str);
//要考慮k大於len的情況
k = k%len;
if(k == 0)
return;
ReverseString(str,0,k-1);
ReverseString(str,k,len-1);
ReverseString(str,0,len-1);
}
int main()
{
char str[1010];
int k;
while(scanf("%s %d",str,&k) != EOF)
{
ROLString(str,k);
puts(str);
}
return 0;
}
/**************************************************************
Problem: 1362
User: mmc_maodun
Language: C
Result: Accepted
Time:60 ms
Memory:912 kb
****************************************************************/
相關文章
- 《劍指offer》:[42-1]左旋轉字串字串
- 劍指offer—58_2.左旋轉字串—分析及程式碼(Java)字串Java
- 【劍指offer】字串轉整數字串
- 【劍指offer】字串的排列字串
- 《劍指offer》:[49]把字串轉化成整數字串
- 【劍指offer】【2】字串的空格字串
- 【劍指offer】字串的組合字串
- 劍指 Offer 38. 字串的排列字串
- 劍指Offer 表示數值的字串字串
- 劍指offer(Java版)--將字串轉換為整數Java字串
- 劍指offer——把字串轉換成整數C++字串C++
- 劍指offer-字串空格替換為“ ”字串
- 《劍指offer》:[54]表示數值的字串字串
- 【劍指offer】替換字串中的空格字串
- 劍指Offer系列之「表示數值的字串」字串
- 力扣 - 劍指 Offer 67. 把字串轉換成整數力扣字串
- 《Leetcode of December》劍指 Offer 67. 把字串轉換成整數LeetCode字串
- [劍指offer][第四章][28]字串的排列字串
- 劍指offer面試16 反轉連結串列面試
- 劍指offer-JavaScript版JavaScript
- 劍指Offer題解合集
- 每日一練(32):左旋轉字串字串
- 劍指offer:旋轉陣列的最小數字陣列
- 劍指offer 旋轉陣列的最小數字陣列
- 【劍指offer】旋轉陣列的最小值陣列
- 劍指 Offer 48. 最長不含重複字元的子字串字元字串
- 【劍指offer】刪除在另一個字串中出現的字元字串字元
- 劍指 offer(1) -- 陣列篇陣列
- Leetcode劍指offer(八)LeetCode
- 劍指offer刷題記錄
- 劍指offer-轉陣列的最小數字-php陣列PHP
- 《劍指 Offer》棧實現佇列佇列
- 劍指offer解析-下(Java實現)Java
- 劍指offer解析-上(Java實現)Java
- 劍指offer——重建二叉樹二叉樹
- 【劍指offer】樹的子結構
- 【劍指offer】二叉樹深度二叉樹
- 【劍指offer】員工年齡排序排序