博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
反转一句话(仅反转各单词的顺序)
阅读量:4450 次
发布时间:2019-06-07

本文共 916 字,大约阅读时间需要 3 分钟。

 

一、目的:将字符串"I am  a   programmer" 反转为 "programmer   a  am I".

二、具体实现

方法1,使用split函数
思路:将str用一个空格分割成数组,然后将数组"从尾至头"输出;输出时有一个小问题需要注意,由于分割得到数组的过程去掉了原字符串中(数组长度数-1)个空格,所以输出时要补上。

private static void reverse()

    string str = "I am  a   programmer";
    string[] arr = str.Split(' ');

    for (int i = arr.Length - 1; i >= 0; i--)

    {
        Console.Write(arr[i] + " ");
    }

    Console.WriteLine("");

}

方法2,不使用split函数

思路:将str"从尾至头"一个一个地遍历,如果当前char是" "或' ',就先输出之前记录的非空字串,然后输出当前的字符(一个空格);否则,就先记录当前字符。这里也有一点需要注意,就是“有可能最后temp中还保存有非空格的字符,但还没有输出”,所以最后还需要再输出一次temp(这里有一个技巧,就是不用再判断temp是否为空,因此如果temp为空话输出也不会对结果有什么影响)。

private static void reverse()

    string str = "I am  a   programmer";  
    string temp = "";

    for (int i = str.Length - 1; i >= 0; i--)

    {
        if (str[i] == ' ')
        {
            Console.Write(temp);
            Console.Write(" ");

            temp = "";

        }
        else
        {
            temp = str[i] + temp;
        }
    }

    Console.Write(temp);

    Console.WriteLine("");
}

转载于:https://www.cnblogs.com/aspsmile/archive/2008/08/05/1260971.html

你可能感兴趣的文章
Elasticsearch快速开始
查看>>
使用scrapy框架来进行抓取的原因
查看>>
scrapy中的ImagePipeline下载图片到本地、并提取本地的保存地址
查看>>
自定义配置文件的使用
查看>>
js-20170609-运算符
查看>>
ALV弹出窗口   REU…
查看>>
算法笔记_065:分治法求逆序对(Java)
查看>>
CSS中关于字体大小的定义 em px rem pt %
查看>>
MSP430FLASH小结
查看>>
STM32 ADC转换时间
查看>>
kylin cube 构建过程
查看>>
结合实际业务场景聊一聊MVP模式的应用
查看>>
scrapy实例:爬取中国天气网
查看>>
经济学效应
查看>>
深圳常见问题
查看>>
入侵指定网站的一些方法(思路篇)
查看>>
【帅刺猬】用鼠标Wheel中键控制对象的缩放
查看>>
如何设计Windows商店游戏的优秀磁贴
查看>>
支付宝一(配置私钥与公钥)
查看>>
[NOIP2017]时间复杂度(模拟)
查看>>