基础算法----实现反转字符串
基础算法----实现反转字符串
春哥大魔王 发表于10个月前
基础算法----实现反转字符串
  • 发表于 10个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

前言

> 字符串反转是一道经典的算法题,思想比较简单:

> 1. 数组的第一位和最后一位互换; > 2. 数组第二位和倒数第二位互换; > 3. ...... > 4. 递归完结条件为取到中间值:start == end;

实现

string str = "1234";

char[] arr = str.ToArray();
int start = 0;
int end = arr.Length-1;

#region 反转
static void rollback(char[] arr, int start, int end)
{
            /**
            * 分成两部分看:排列完成,待排列
            *
            * start和end部分为排列完成,start+1之后为待排列,最后end和start置换。
            */
    while (end > start)//排列次数,是整个数组的长度
    {
        char temp = arr[start];
        for (int i = start + 1; i <= end; i++)
        {
            arr[i - 1] = arr[i];
        }
        arr[end] = temp;
        end--;
    }

    for (int i = 0; i < arr.Length; i++)
    {
        System.Console.Write(arr[i]);
    }
    System.Console.Write("\n");
}
#endregion

结果

反转结果

源码

> http://git.oschina.net/aspnet/Suan-Fa

标签: 基本算法
共有 人打赏支持
粉丝 6
博文 46
码字总数 20422
×
春哥大魔王
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: