剑指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; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构