zoukankan      html  css  js  c++  java
  • 将一个字符串逆序

    将一个字符串逆序有多重方式实现,下面的三种方式均是在原字符串上操作。

    方式一.使用数组的方式操作

     1 char *reversestr(char *str)
     2 {
     3     char *temp = str;
     4     int indexLeft = 0;
     5     int indexRight = 0;
     6     if (str == NULL)
     7     {
     8         return NULL;
     9     }
    10     while(*temp != '')
    11     {
    12         indexRight++;
    13         temp++;
    14     }
    15     //指向最后一个字符''的前一个
    16     indexRight = indexRight - 1;
    17     
    18     while(indexRight > indexLeft)
    19     {
    20         char temp = str[indexLeft];
    21         str[indexLeft++] = str[indexRight];
    22         str[indexRight--] = temp;
    23     }
    24 
    25     return str;
    26     
    27 }


    方式二 .使用指针的方式操作

    char *reverseStr(char *str)
    {
        char *left = str;
        char *right = str;
        if(str == NULL)
        {
            return NULL;
        }
        while (*right != '')
        {
            right++;
        }
        right--;
        while (right > left)
        {
            char temp = *right;
            *right++ = *left;
            *left++ = temp;
        }
        return str;
    }

    方式三.不使用第三的变量 

     1 char *reversestr1(char *str)
     2 {
     3     char *left = str;
     4     char *right = str;
     5     if (str == NULL)
     6     {
     7         return NULL;
     8     }
     9     while(*right != '')
    10     {
    11         right++;
    12     }
    13     right--;
    14     /*使用异或运算的特点 a = a^b^b b = a^b^a */
    15     while (right > left)
    16     {
    17         *left = *left ^ *right;
    18         *right = *left ^ *right;
    19         *left = *left ^ *right;
    20         left++;
    21         right--;
    22     }
    23     return str;
    24 }
  • 相关阅读:
    帮Netpole Review了一下RichEditor控件
    WawaKMv1命名空间.rtf
    WawaKMV1需求变更.rtf
    WawaKMV1技术难点.rtf
    WawaKMV1工具栏设计.rtf
    通讯录相关需求分析
    WawaKMV1Urtal Recall分析.rtf
    WawaKM:关于批量抓图的需求分析及设计
    图片相关的需求分析
    蛙蛙郑重推荐您使用firefox浏览器
  • 原文地址:https://www.cnblogs.com/jianghg/p/4495004.html
Copyright © 2011-2022 走看看