题目描述

编写一个函数,其作用是将输入的字符串反转过来。

示例 1:

输入: "hello"
输出: "olleh"

示例 2:

输入: "A man, a plan, a canal: Panama"
输出: "amanaP :lanac a ,nalp a ,nam A"

思路

思路一:

逆序拼接字符串

思路二:

依次交换两边的值

思路三:

直接调用StringBuilder 的 reverse()

思路四:

用栈来实现反转

代码实现

package String;

import java.util.Stack;

/**
* 344. Reverse String(反转字符串)
* 编写一个函数,其作用是将输入的字符串反转过来。
*/
public class Solution344 {
public static void main(String[] args) {
Solution344 solution344 = new Solution344();
String s = "hello";
System.out.println(solution344.reverseString_4(s));
} /**
* 逆序拼接字符串
*
* @param s
* @return
*/
public String reverseString(String s) {
StringBuilder str = new StringBuilder();
for (int i = s.length() - 1; i >= 0; i--) {
str.append(s.charAt(i));
}
return String.valueOf(str);
} /**
* 依次交换两边的值
*
* @param s
* @return
*/
public String reverseString_2(String s) {
char[] chars = s.toCharArray();
int i = 0;
int j = chars.length - 1;
while (i < j) {
char temp = chars[i];
chars[i] = chars[j];
chars[j] = temp;
i++;
j--;
}
return new String(chars);
} /**
* 直接调用StringBuilder 的 reverse()
*
* @param s
* @return
*/
public String reverseString_3(String s) {
return new StringBuilder(s).reverse().toString();
} /**
* 用栈来实现反转
*
* @param s
* @return
*/
public String reverseString_4(String s) {
Stack<Character> stack = new Stack<>();
char[] chars = s.toCharArray();
String res = "";
for (int i = 0; i < chars.length; i++) {
stack.push(chars[i]);
}
for (int i = 0; i < chars.length; i++) {
res += stack.pop();
}
return res;
}
}

Leetcode#344. Reverse String(反转字符串)的更多相关文章

  1. LeetCode 344. Reverse String(反转字符串)

    题目描述 LeetCode 344. 反转字符串 请编写一个函数,其功能是将输入的字符串反转过来. 示例 输入: s = "hello" 返回: "olleh" ...

  2. [LeetCode] 344. Reverse String 翻转字符串

    Write a function that reverses a string. The input string is given as an array of characters char[]. ...

  3. 344 Reverse String 反转字符串

    请编写一个函数,其功能是将输入的字符串反转过来.示例:输入:s = "hello"返回:"olleh"详见:https://leetcode.com/probl ...

  4. Leetcode 344:Reverse String 反转字符串(python、java)

    Leetcode 344:Reverse String 反转字符串 公众号:爱写bug Write a function that reverses a string. The input strin ...

  5. [LeetCode] 344 Reverse String && 541 Reverse String II

    原题地址: 344 Reverse String: https://leetcode.com/problems/reverse-string/description/ 541 Reverse Stri ...

  6. leetcode 344. Reverse String 、541. Reverse String II 、796. Rotate String

    344. Reverse String 最基础的旋转字符串 class Solution { public: void reverseString(vector<char>& s) ...

  7. Leetcode 344 Reverse String 字符串处理

    题意:反转字符串,用好库函数. class Solution { public: string reverseString(string s) { reverse(s.begin(),s.end()) ...

  8. (字符串 数组 递归 双指针) leetcode 344. Reverse String

    Write a function that reverses a string. The input string is given as an array of characters char[]. ...

  9. LeetCode 344. Reverse String

    Problem: Write a function that takes a string as input and returns the string reversed. Example: Giv ...

随机推荐

  1. SpringMVC项目读取不到外部CSS文件的解决办法及总结

    昨天,在写一个新需求的时候,因为没有前端同事的对接,无奈只有自己写css,js放到ssm结构的后台项目中,因为之前开发都是把前端文件放在一个专门的服务器上,一直没有关注服务端项目读取静态资源的问题,运 ...

  2. tcping ,一个好用的TCP端口检测工具

    1.常用的用法(windows) tcp -w 10 -t -d -i 5 -j --color 81.156.165.66 443 2. http模式 -u,与-h命令连用,每一行输出目标的url ...

  3. 5-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(配置保存数据的数据库)

    配置信息如下:这是我的python软件和APP软件默认连接的配置 数据库名称:iot        编码utf8 表格名字:historicaldata 字段 id      自增,主键 date   ...

  4. vue slot插槽的使用

    slot插槽的使用场景 父组件向子组件传递dom时会用到插槽   作用域插槽:当同一个子组件想要在不同的父组件里展示不同的状态,可以使用作用域插槽.展示的状态由父组件来决定   注:想要修改父组件向子 ...

  5. 如何卸载VS 2017之前版本比如VS 2013、VS2015、 VS vNext?

    前言 大学专业为软件工程,进入大学之后才知道这个专业需要用到笔记本,我的笔记本配置为I3,内存4个G,已经有大几年了,中间坏了修了一次一直用到现在,这个笔记本还是我哥打工过年回来身上仅有的三四千块钱所 ...

  6. github 管理代码: code.Aliyun

    阿里云代码管理,,cao,搞了半天,配置百度就可以了,我只想说代码控制可以用github桌面版管理

  7. 关于Qt的StyleSheet作用范围

    Qt的StyleSheet是很方便的一个设置各种控件风格形态的属性,但是默认的StyleSheet会作用于所有的子控件,容易带来麻烦,以下几种情况,可以限制作用范围 以QTextEdit为例,实体名为 ...

  8. python之旅九【第九篇】socket

    什么是socket 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket ...

  9. MYSQL IN 出现的慢查询问题

    IN = https://blog.csdn.net/solmyr_biti/article/details/54293492 https://www.cnblogs.com/wxw16/p/6105 ...

  10. 初识并发编程 MPI

    MPI是一个跨语言的通讯协议,用于并发编程.MPI标准定义了一组具有可移植性的编程接口. 安装环境 MPICH 是开源的消息传递接口(MPI)标准的实现. 下载地址 # 解压文件 tar -xzvf ...