zoukankan      html  css  js  c++  java
  • 剑指Offer的学习笔记(C#篇)-- 翻转单词的序列

    题目描述

    牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

    一 . 题目分析

    该题目和上一个反转字符串的题目有些相似,但又不同。可以这样理解,翻转字符串是翻转的一句话里面所有字母的顺序;而翻转单词则是翻转单词的顺序。

    例如: oh yeah

    翻转字符串: haey ho

    翻转单词:yeah oh

    翻转字符串用到一个关键词Remove;翻转单词直接定义了string[] array用于后续输出,且使用关键词.Split(' '),即以 ' ' 分割,注意使用该关键词的时候要using System。

    二 .  代码实现

    using System;
    class Solution
    {
        public string ReverseSentence(string str)
        {
            // write code here
            // 鲁棒判断
            if (str == null || str == "")
            {
                return "";
            }
            // 定义新数组 + 数组长度 + 最后输出数组
            string[] array = str.Split(' ');
            int len = array.Length;
            string result = array[len-1];
            // 数组为 1 的特殊判别
            if(len == 1)
            {
                return result;
            }
            // 循环判断
            for(int i = len-2;i>=0;i--)
            {
                result += " " + array[i];
            }
            // 输出
            return result;
        }
    }
  • 相关阅读:
    C# 5注释
    C# 4关键字
    C# 3练习题
    python之子类调用父类的同名属性和方法
    python之继承
    python之对象删除和输出
    python之r,w,a
    python之类中的方法和属性
    python之面向对象
    python之os对文件的操作
  • 原文地址:https://www.cnblogs.com/WeiMLing/p/11124468.html
Copyright © 2011-2022 走看看