字符串的几种常见的反转
字符串的几种常见的反转:
提到字符串的反转,最先想到的应该是StringBuiler的reverse()的方法,方便快捷。但有时我们也需要自己写一些反转的代码。
第一种 通过String类的charAt()的方法来获取字符串中的每一个字符,然后将其拼接为一个新的字符串。
/*** 该方法是通过charAt()方法获得每一个char的字符,i=0时获得第一个字符a然后赋值给reverse* 此时reverse="a";i=1时获得第二个字符b然后加上reverse再赋值给reverse,此时reverse="ba";* 一次类推*/public static String CharAtreverse(String s) {int length = s.length();String reverse = "";for (int i=0; i<length; i++)reverse = s.charAt(i) + reverse;return reverse;}
第二种 通过String的 toCharArray()方法可以获得字符串中的每一个字符串并转换为字符数组,然后用一个空的字符串从后向前一个个的拼接成新的字符串。
public static String reverseCharArray(String s) {char[] array = s.toCharArray();String reverse = "";for (int i = array.length - 1; i >= 0; i--) {reverse += array[i];}return reverse;}
第三种 通过StringBuiler的reverse()的方法,最快的方式。
public static String reverseStringBuilder(String s) {StringBuilder sb = new StringBuilder(s); String afterreverse = sb.reverse().toString();return afterreverse;}
第四种 通过递归的方式,其实有以上的就可以了,但是还是说一下递归,实在是应为这个感觉高大上一点而已。
public static String reverseRecursive(String s) {int length = s.length();if (length <= 1)return s;String left = s.substring(0, length / 2);String right = s.substring(length / 2, length);String afterReverse = reverse1(right) + reverse1(left);return afterReverse;}
字符串的几种常见的反转相关推荐
- Java中定义字符串的两种常见方式、使用==和equals()比较字符串
在讲使用==和equals()比较字符串之前,我们首先要讲定义字符串的两种常见方式,一种是定义一个常量,即直接定义字符串,一种是通过new关键字定义一个变量,即使用String类定义字符串,如下图: ...
- ios删除字符串第一位_iOS “字符串” 的几种常见的截取方法(随时更新)
全局被我使用的字符串:NSString *string = @"街上,走着一个女孩,好清秀,牵着人们的眼球,就象,花儿一样可爱,好温柔,看也看不够"; 1.// 截取字符串的 第1 ...
- 在JavaScript中反转字符串的三种方法
This article is based on Free Code Camp Basic Algorithm Scripting "Reverse a String" 本文基于F ...
- 几种常见的字符串倒序的方法。
对比介绍几种常见的字符串倒序的方法. 通过切片进行倒序 列表的reverse()方法 1. 通过切片进行倒序 假设 s 是原始的字符串变量,则通过切片进行倒序的方法是 s=s[::-1] 2.通过列表 ...
- 【链表反转】介绍几种常见的链表反转方法(递归、迭代、穿针引线法)
[链表反转]介绍几种常见的链表反转方法(递归.迭代.穿针引线法). 目录 一.链表操作定义 1.1.链表结构定义 1.2.链表工具类 二.反转整个链表
- 反转字符串java实现_反转字符串的几种实现(Java)
反转字符串的几种实现(Java) 首先第一种是利用Java中的类库对象进行反转 //第一种 使用Java类库的diam实现反转 public String reverse(String str){ S ...
- 数据结构和算法练习网站_视频和练习介绍了10种常见数据结构
数据结构和算法练习网站 "Bad programmers worry about the code. Good programmers worry about data structures ...
- html怎么创建数组,js创建数组的三种方法 JS数组去重的几种常见方法
JS数组有哪几种定义方式? js 里创建一个数组 那几种方式有什么区别吗?a = new Array(); b = []; 性能问题吗?? function clear(arr) { // 1 如何获 ...
- 在JavaScript中重复字符串的三种方法
In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...
最新文章
- 从头开始学习vue-router
- Couchbase 介绍 - 更好的 Cache 系统
- phpstudy如何升级php,phpstudy如何升级phpmyadmin?
- java源码 1.8_Java源码下载和阅读(JDK1.8/Java 11)
- Python 强大的信号库 blinker 入门教程
- mysql数据库表迁移
- Text determination debug
- python 为什么动态语言_Python动态语言
- 键盘事件与JS Filter
- vscode写python_vscode如何编写python?
- 使用python对文档的所有词组统计
- libxml主要函数说明 (一)
- 电商项目数据库表的学习及数据库表结构设计
- navicat 1146错误
- systemctl重新加载_CentOS7利用systemctl添加自定义系统服务【转】
- 敏捷迭代管理 --需求变更规范
- 插上移动硬盘计算机没反应,usb硬盘插上电脑没反应怎么办,手把手教你怎么解决...
- 东方梅酒:梅见的新国饮故事
- 大学生月入过万的创业好项目——自媒体
- UE4 SceneCapture2D显示人物模型时过滤背景颜色或天空盒