字符串的几种常见的反转:

提到字符串的反转,最先想到的应该是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;}

字符串的几种常见的反转相关推荐

  1. Java中定义字符串的两种常见方式、使用==和equals()比较字符串

    在讲使用==和equals()比较字符串之前,我们首先要讲定义字符串的两种常见方式,一种是定义一个常量,即直接定义字符串,一种是通过new关键字定义一个变量,即使用String类定义字符串,如下图: ...

  2. ios删除字符串第一位_iOS “字符串” 的几种常见的截取方法(随时更新)

    全局被我使用的字符串:NSString *string = @"街上,走着一个女孩,好清秀,牵着人们的眼球,就象,花儿一样可爱,好温柔,看也看不够"; 1.// 截取字符串的 第1 ...

  3. 在JavaScript中反转字符串的三种方法

    This article is based on Free Code Camp Basic Algorithm Scripting "Reverse a String" 本文基于F ...

  4. 几种常见的字符串倒序的方法。

    对比介绍几种常见的字符串倒序的方法. 通过切片进行倒序 列表的reverse()方法 1. 通过切片进行倒序 假设 s 是原始的字符串变量,则通过切片进行倒序的方法是 s=s[::-1] 2.通过列表 ...

  5. 【链表反转】介绍几种常见的链表反转方法(递归、迭代、穿针引线法)

    [链表反转]介绍几种常见的链表反转方法(递归.迭代.穿针引线法). 目录 一.链表操作定义 1.1.链表结构定义 1.2.链表工具类 二.反转整个链表

  6. 反转字符串java实现_反转字符串的几种实现(Java)

    反转字符串的几种实现(Java) 首先第一种是利用Java中的类库对象进行反转 //第一种 使用Java类库的diam实现反转 public String reverse(String str){ S ...

  7. 数据结构和算法练习网站_视频和练习介绍了10种常见数据结构

    数据结构和算法练习网站 "Bad programmers worry about the code. Good programmers worry about data structures ...

  8. html怎么创建数组,js创建数组的三种方法 JS数组去重的几种常见方法

    JS数组有哪几种定义方式? js 里创建一个数组 那几种方式有什么区别吗?a = new Array(); b = []; 性能问题吗?? function clear(arr) { // 1 如何获 ...

  9. 在JavaScript中重复字符串的三种方法

    In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...

最新文章

  1. 从头开始学习vue-router
  2. Couchbase 介绍 - 更好的 Cache 系统
  3. phpstudy如何升级php,phpstudy如何升级phpmyadmin?
  4. java源码 1.8_Java源码下载和阅读(JDK1.8/Java 11)
  5. Python 强大的信号库 blinker 入门教程
  6. mysql数据库表迁移
  7. Text determination debug
  8. python 为什么动态语言_Python动态语言
  9. 键盘事件与JS Filter
  10. vscode写python_vscode如何编写python?
  11. 使用python对文档的所有词组统计
  12. libxml主要函数说明 (一)
  13. 电商项目数据库表的学习及数据库表结构设计
  14. navicat 1146错误
  15. systemctl重新加载_CentOS7利用systemctl添加自定义系统服务【转】
  16. 敏捷迭代管理 --需求变更规范
  17. 插上移动硬盘计算机没反应,usb硬盘插上电脑没反应怎么办,手把手教你怎么解决...
  18. 东方梅酒:梅见的新国饮故事
  19. 大学生月入过万的创业好项目——自媒体
  20. UE4 SceneCapture2D显示人物模型时过滤背景颜色或天空盒

热门文章

  1. class的操作:className和classList
  2. 【ELK】02、ElasticSearch基础
  3. jQuery介绍、jQuery引入
  4. 【设计模式】单例模式是什么?如何实现单例模式?单例模式常见问题?
  5. 《炬丰科技-半导体工艺》--技术资料合集三
  6. 软件测试外包的战术有哪些
  7. originPro2021(8)在图中加直线方便查看数据
  8. 关于for循环遍历列表的几个用法--python
  9. AI综述专栏 | 朱松纯教授浅谈人工智能:现状、任务、构架与统一
  10. 基于matlab的混合波束成形仿真