面試題44 字串的左旋操作

2021-06-18 06:06:30 字數 749 閱讀 4739

思路:先分別內部旋轉兩部分,然後整體旋轉字串

**如下:

#include "stdafx.h"

#include using namespace std;

//翻轉字串pbegin和pend分別指向字串的首尾字元

void reverse(char *pbegin, char *pend)

while (pbegin < pend) }

//將字串str的左邊num個字元左旋至字串的尾部

void leftrotatestring(char *str, int num)

int nlength = strlen(str);

char *pfirstbegin = str;

char *pfirstend = str + num -1;

char *psecondbegin = pfirstend + 1;

char *psecondend = str + nlength -1;

if (num >= 0 && num

執行結果:

面試題42 題目2 字串左旋轉

面試題42 題目2 字串左旋轉 組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,...

字串 面試題 01 09 字串輪轉

題目 字串輪轉。給定兩個字串s1和s2,請編寫 檢查s2是否為s1旋轉而成 比如,waterbottle是erbottlewat旋轉後的字串 示例1 輸入 s1 waterbottle s2 erbottlewat 輸出 true 示例2 輸入 s1 aa s2 aba 輸出 false 提示 字串...

面試題42 左旋轉字串

題目 定義乙個函式實現字串左旋轉操作的功能。字串的左旋轉操作就是把字串前面的若干個字元轉移到字串的 尾部。比如輸入字串 abcdefg 和2,該函式將返回左旋轉2位得到的結果 cdefgab include include using namespace std 翻轉字串 void reverse ...