mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-06 23:17:26 +08:00
Merge pull request #2543 from QinHaoting/master
0104二叉树的最大深度 C语言迭代法(后序遍历) && 0055右旋字符串 C语言
This commit is contained in:
@ -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:
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user