C#LeetCode刷题之#344-反转字符串(Reverse String)
问题
该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3933 访问。
编写一个函数,其作用是将输入的字符串反转过来。
输入: "hello"
输出: "olleh"
输入: "A man, a plan, a canal: Panama"
输出: "amanaP :lanac a ,nalp a ,nam A"
Write a function that takes a string as input and returns the string reversed.
Input: "hello"
Output: "olleh"
Input: "A man, a plan, a canal: Panama"
Output: "amanaP :lanac a ,nalp a ,nam A"
示例
该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3933 访问。
public class Program {public static void Main(string[] args) {var s = "A man, a plan, a canal: Panama";var res = ReverseString(s);Console.WriteLine(res);s = "private static string ReverseString(string s)";res = ReverseString2(s);Console.WriteLine(res);s = "using System.Collections.Generic;";res = ReverseString3(s);Console.WriteLine(res);s = "var res = ReverseString(s);";res = ReverseString4(s);Console.WriteLine(res);s = "Console.WriteLine(res);";res = ReverseString5(s);Console.WriteLine(res);s = "var sb = new StringBuilder();";res = ReverseString6(s);Console.WriteLine(res);Console.ReadKey();}private static string ReverseString(string s) {//LeetCode超时未ACvar stack = new Stack<char>();foreach(var c in s) {stack.Push(c);}var res = string.Empty;while(stack.Count != 0) {res += stack.Pop();}return res;}private static string ReverseString2(string s) {//LeetCode超时未ACvar list = new List<char>();foreach(var c in s) {list.Add(c);}var res = string.Empty;for(var i = list.Count - 1; i >= 0; i--) {res += list[i];}return res;}private static string ReverseString3(string s) {var length = s.Length;var i = 0;var j = length - 1;var chars = new char[length];while(i <= length - 1) {chars[j] = s[i];i++;j--;}return new string(chars);}private static string ReverseString4(string s) {var chars = s.ToCharArray();var start = 0;var end = s.Length - 1;while(start < end) {var swap = chars[start];chars[start] = chars[end];chars[end] = swap;start++;end--;}return new String(chars);}private static string ReverseString5(string s) {var sb = new StringBuilder();for(var i = s.Length - 1; i >= 0; i--) {sb.Append(s[i]);}return sb.ToString();}private static string ReverseString6(string s) {var arr = s.ToCharArray();Array.Reverse(arr);return new string(arr);}}
以上给出6种算法实现,以下是这个案例的输出结果:
该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3933 访问。
amanaP :lanac a ,nalp a ,nam A
)s gnirts(gnirtSesreveR gnirts citats etavirp
;cireneG.snoitcelloC.metsyS gnisu
;)s(gnirtSesreveR = ser rav
;)ser(eniLetirW.elosnoC
;)(redliuBgnirtS wen = bs rav
分析:
显而易见,以上6种算法的时间复杂度均为: 。
C#LeetCode刷题之#344-反转字符串(Reverse String)相关推荐
- C#LeetCode刷题之#443-压缩字符串(String Compression)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3943 访问. 给定一组字符,使用原地算法将其压缩. 压缩后的长度 ...
- C#LeetCode刷题之#205-同构字符串(Isomorphic Strings)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3770 访问. 给定两个字符串 s 和 t,判断它们是否是同构的. ...
- C#LeetCode刷题之#557-反转字符串中的单词 III(Reverse Words in a String III)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3955 访问. 给定一个字符串,你需要反转字符串中每个单词的字符顺 ...
- C#LeetCode刷题之#345-反转字符串中的元音字母(Reverse Vowels of a String)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3935 访问. 编写一个函数,以字符串作为输入,反转该字符串中的元 ...
- LeetCode刷题第8天字符串系列之《378字符串中的第一个唯一字符》
LeetCode 378字符串中的第一个唯一字符 题目描述 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. 提示:你可以假定该字符串只包含小写字母. 示例 输入 ...
- 卷进大厂系列之LeetCode刷题笔记:反转链表(简单)
学算法,刷力扣,加油卷,进大厂! 题目描述 力扣题目链接 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3 ...
- C#LeetCode刷题之#859-亲密字符串(Buddy Strings)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3973 访问. 给定两个由小写字母构成的字符串 A 和 B ,只要 ...
- C#LeetCode刷题之#541-反转字符串 II(Reverse String II)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3951 访问. 给定一个字符串和一个整数 k,你需要对从字符串开头 ...
- 学渣的刷题之旅 leetcode刷题 7.整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 输入: 123 输出: 321 输入: -123 输出: -321 输入: 120 输出: 21 注意: 假设我们的环境只能存 ...
最新文章
- 应用丨AI和机器学习如何改变美国政府决策方式
- 新加坡南洋理工 计算机排名6,别踩坑了!这些才是新加坡最好的专业!
- Sqrt(int x) leetcode java
- 机房收费系统之抽象工厂篇
- IOS 通讯录 右侧的字母栏
- 0基础改行学python_零基础想转行学习python,该如何学习,有学习路线分享吗?...
- python格式化输出 xz_Python——详解__str__, __repr__和__format__
- spring react_使用Spring Cloud Gateway保护React式微服务
- java调用hbase_Java调用Hbase
- SpringBoot2 参数管理实践,入参出参与校验
- [bzoj4568][Scoi2016]幸运数字
- 前端:JS/38/canvas状态的保存和恢复(canvas常用状态大全),canvas画布中图像的变形
- 团部培训笔记-设计模式-《2013-11-27 代理模式》
- oracle中decode方法使用
- java 链接kafka单机版_kafka单机环境搭建及其基本使用
- 跟我学习dubbo-简介(1)
- 详解EtherCAT主站SOEM源码_eepromtool.c
- 书屋(二):《我的成功可以复制》不妨一读
- 会员积分营销系统,现代营销利器
- 如何调整c盘分区大小,怎样把c盘空间调整小些