添加0055右旋字符串 C语言版本

This commit is contained in:
Haoting
2024-04-27 17:10:20 +08:00
parent 9356debd17
commit 8dcfd4f319

View File

@ -253,6 +253,47 @@ func main(){
``` ```
### C
```C
#include <stdio.h>
#include <string.h>
void reverse(char *s, int left, int right)
{
while(left <= right)
{
char c = s[left];
s[left] = s[right];
s[right] = c;
left++;
right--;
}
}
void rightRotate(char *s, int k)
{
int len = strlen(s);
// 先局部反转再整体反转
reverse(s, 0, len - k - 1); // 反转前部分
reverse(s, len - k, len - 1); // 反转后部分后k位
reverse(s, 0, len - 1); // 整体反转
}
int main()
{
int k;
scanf("%d", &k);
char s[10000];
scanf("%s", s);
rightRotate(s, k);
printf("%s\n", s);
return 0;
}
```
### JavaScript ### JavaScript