【漫步刷题路】- 逆序字符串I

简介: 【漫步刷题路】- 逆序字符串I

题目要求:

如:字符串内容为:abcd             逆序后结果:dcba


注意事项:

不能逆序指针指向的常量字符串!因为常量字符串存放在静态区,其内容不能修改

要使用字符数组

//例如
char* p = "abcd";//不能逆序p指向的内容
复制代码

思路:

1.定义两个指针,一个指向字符串的左边,一个指向字符串的右边。二者指向的字符进行交换。左指针右移,右指针左移

2.当满足left < right 条件则继续交换 不满足则说明二者相遇了,或者left>right了。逆序完成


image.png

代码:

void reverse(char* str)
{
  int len = strlen(str);
  char* left = str;//指向字符串的起始位置
  char* right = str + len -1 ;//指向字符串的末尾(\0之前)
    //当left和right指向同一个字符不需要交换,所以判断条件写成left<=right即可
  while (left < right)
  {
        //字符交换
    char tmp = *left;
    *left = *right;
    *right = tmp;
        //区间缩减
    right--;
    left++;
  }
}
int main()
{
  char str[20] = "abcd";
  reverse(str);
  printf("%s\n", str);
  return 0;
}



相关文章
|
4月前
|
人工智能 算法 Java
每日一刷《剑指offer》字符串篇之编辑距离
每日一刷《剑指offer》字符串篇之编辑距离
59 0
每日一刷《剑指offer》字符串篇之编辑距离
|
4月前
|
Java
每日一刷《剑指offer》字符串篇之左旋转字符串
每日一刷《剑指offer》字符串篇之左旋转字符串
49 0
每日一刷《剑指offer》字符串篇之左旋转字符串
|
4月前
|
Java
每日一题《剑指offer》字符串篇之字符串的排列
每日一题《剑指offer》字符串篇之字符串的排列
72 0
每日一题《剑指offer》字符串篇之字符串的排列
|
4月前
|
Java
每日一题《剑指offer》数组篇之和为S的两个数字
每日一题《剑指offer》数组篇之和为S的两个数字
41 0
每日一题《剑指offer》数组篇之和为S的两个数字
|
4月前
|
人工智能 Java
每日一题《剑指offer》数组篇之连续子数组的最大和
每日一题《剑指offer》数组篇之连续子数组的最大和
48 0
每日一题《剑指offer》数组篇之连续子数组的最大和
|
4月前
|
Java
每日一题《剑指offer》数组篇之数组中只出现一次的两个数字
每日一题《剑指offer》数组篇之数组中只出现一次的两个数字
28 0
每日一题《剑指offer》数组篇之数组中只出现一次的两个数字
|
10月前
|
存储 算法 Serverless
代码随想录算法训练营第六天 | LeetCode 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
代码随想录算法训练营第六天 | LeetCode 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
65 0
代码随想录算法训练营第六天 | LeetCode 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
|
10月前
|
算法
代码随想录算法训练营第八天 | LeetCode 344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串
代码随想录算法训练营第八天 | LeetCode 344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串
53 0
|
算法 索引
代码随想录算法训练营第八天 | 344.反转字符串541. 反转字符串II 剑指Offer 05.替换空格151.翻转字符串里的单词剑指Offer58-II.左旋转字符串
代码随想录算法训练营第八天 | 344.反转字符串541. 反转字符串II 剑指Offer 05.替换空格151.翻转字符串里的单词剑指Offer58-II.左旋转字符串
|
算法 安全
代码随想录算法训练营第六天| 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和
代码随想录算法训练营第六天| 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和