首页 > 其他分享 >字符串逆序

字符串逆序

时间:2024-03-25 23:59:04浏览次数:23  
标签:arr right ++ char int 字符串 逆序 left

文章目录


一、字符串?

在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。

二、思路

从左++和右--到中间。

赋值最左边和最右边给指针left、right,然后通过left++、right--进行逆序。

    char* left = arr;
    char* right = arr + strlen(arr) - 1;
    int i = 0;
    for (i = 0; i < (sz-1)/2; i++)
    {
        char tep = *left;
        *left = *right;
        *right = tep;

        left++;
        right--;
    }


三、运行代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

void Reverse_string(char* arr,int sz)
{
    char* left = arr;
    char* right = arr + strlen(arr) - 1;
    int i = 0;
    for (i = 0; i < (sz-1)/2; i++)
    {
        char tep = *left;
        *left = *right;
        *right = tep;

        left++;
        right--;
    }
    printf("%s\n", arr);
}
int main()
{
    char arr[] = "I LOVE YOU";
    int sz = sizeof(arr) / sizeof(arr[0]);
    Reverse_string(arr,sz);
    return 0;
}

标签:arr,right,++,char,int,字符串,逆序,left
From: https://blog.csdn.net/2301_80975833/article/details/136905426

相关文章

  • java------字符串
    Java中字符串理解:1.字符串不可变,它们的值在创建后不能被更改。这里说的是,他们的值而不是地址值。 当我们使用Strings=“hello”;语句创建字符串的时候,首先会去常量池中查找,如果有,就返回这个常量的地址,如果没有,在常量池中创建并返回。world也是这样的。比如这里的“hello”......
  • R语言中拆分长字符串
     00196,GO:0051093,GO:0051094,GO:0051171,GO:0051172,GO:0051173,GO:0051239,GO:0051240,GO:0051241,GO:0051246,GO:0051247,GO:0051248,GO:0051252,GO:0051254,GO:0051704,GO:0051716,GO:0051896,GO:0051897,GO:0051960,GO:0051961,GO:0051962,GO:0055082,GO:0060147,GO:......
  • 蓝桥杯算法基础(29)字符串匹配(RabinKarp)(KMP)(前缀树,字典树,trie,后缀数组,高度数组)
     RabinKarpRabinKarpS:ABABABm个P:ABBn个1.朴素算法,挨个匹配2.哈希法hash->滚动哈希c0*31^2+c1*31^1+c2类似于进制的求法求hash值(c0*31+c1)*31+c2hash(p)=o(n)hash(s)=o(m*n)privatestaticvoidmatch(Stringp,Strings){longhash_p=hash(p);......
  • Java面试题:请解释Java中的字符串和字符串缓冲区?
    一、请解释Java中的字符串和字符串缓冲区?Java中的字符串(String)和字符串缓冲区(StringBuffer)都是用来处理字符序列的类,但它们之间有一些重要的区别。字符串(String)不可变性:字符串是不可变的,一旦创建就不能被修改。如果需要修改字符串,实际上是创建了一个新的字符串对象。字符......
  • 排序算法练习——按照字符串的异位词分组:给定一个字符串数组,将所有异位词(字符相同但顺
    按照字符串的异位词分组:给定一个字符串数组,将所有异位词(字符相同但顺序不同的字符串)分组到同一个组中。要按照字符串的异位词分组,可以使用哈希表来将每个字符串排序后作为键,相同键的字符串即为异位词。以下是实现这个算法的Python代码:fromcollectionsimportdefaultdict......
  • 截取适合数据库长度的字符串
    importjava.nio.charset.StandardCharsets;publicclassTools{publicstaticvoidmain(String[]args){System.out.println(splitString("[计算费用应judnsdjwddqwhwqdwdqhwdqhwqhqwihq就得花洒uhuqwduhqwudquwhuqdwuhdqwqdw请重新计算;",128));}......
  • 【C语言】字符函数和字符串函数
    前言:在编程的过程中,我们经常要处理字符和字符串,C语言标准库中提供了一系列库函数,接下来我们一起学习一下这些函数。1.字符分类函数C语⾔中有⼀系列的函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的。这些函数的使⽤都需要包含⼀个头⽂件是ctype.hiscntrl......
  • 代码随想录算法训练营第五十五天 | 583. 两个字符串的删除操作, 72. 编辑距离
    72.编辑距离 已解答中等 相关标签相关企业 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符 示例1:输入:word1="horse"......
  • 代码随想录算法训练营Day55 ||leetCode 583. 两个字符串的删除操作 || 72. 编辑距离
    583. 两个字符串的删除操作 这道题的状态方程比上一题简单一些初始化如下classSolution{public:intminDistance(stringword1,stringword2){vector<vector<int>>dp(word1.size()+1,vector<int>(word2.size()+1));for(inti=0;i......
  • Offer必备算法16_字符串_四道力扣题详解(由易到难)
    目录①力扣14.最长公共前缀解析代码1(两两比较)解析代码2(统一比较)②力扣5.最长回文子串解析代码(中心拓展)③力扣67.二进制求和解析代码④力扣43.字符串相乘解析代码(无进位相乘)本篇完。①力扣14.最长公共前缀14.最长公共前缀难度简单编写一个函数来查找字符......