Java实现字符串反转

对于使用Java字符串反转有以下几种实现:

  • 利用StringBuilder类中的reverse函数;
  • 使用递归,将String的首字符放到除首字符外的子串后,然后再递归调用子串;
  • 使用字符数组做reverse;
public class Reverse {
	public static String reverse1(String str) {
		if (str == null || str.length() <= 1)
			return str;
		return new StringBuilder(str).reverse().toString();
	}

	public static String reverse2(String str) {
		if (str == null || str.length() <= 1)
			return str;
		return reverse2(str.substring(1)) + str.charAt(0);
	}

	public static String reverse3(String str) {
		if (str == null || str.length() <= 1)
			return str;
		char[] ca = new char[str.length()];
		for (int i = 0; i < str.length(); i++) {
			ca[i] = str.charAt(str.length() - i - 1);
		}
		return new String(ca);
	}

	public static void main(String[] args) {
		String s = "hello world";

		System.out.println(reverse1(s));
		System.out.println(reverse2(s));
		System.out.println(reverse3(s));
	}
}
时间: 2024-08-05 19:44:23

Java实现字符串反转的相关文章

Java中字符串反转

首推方法: public void convertStr(String str){          //将String 对象转换为可改变的StringBuffer类对象          //然后调用StringBuffer类的reverse()方法实现反转          String strReverse=new StringBuffer(str).reverse().toString();          System.out.println(strReverse);       

Java 实例 - 字符串反转

package string; public class StringReverse { public static void main(String[] args) { /** * 字符串反转 */ String str = "dlrow,olleh"; String reverse =new StringBuffer(str).reverse().toString(); System.out.println("反转之前的字符串:"+str); System.ou

java练习 - 字符串反转

思路: 1. 首先将字符串转换成数组,一个数组元素放一个字符. 2. 循环遍历字符串,将所有字符串前后字符调换位置,比如:第一个和最后一个调换,第二个和倒数第三调换,第三个和倒数第三调换,直到所有字符调换完毕. 3. 通过以上两步得到了字符顺序完全颠倒的新字符串. 下面是代码实现:可以将1 2 3 4 5 转换成5 4 3 2 1 1 public class reverse { 2 3 //public static void main(String[] args) 4 public Stri

Java 实现字符串反转

1. 使用现成的 reverse() 方法 StringBuilder sb1 = new StringBuilder("Hello you"); System.out.println(sb1.reverse()); //uoy olleH StringBuffer sb2 = new StringBuffer("haha go"); System.out.println(sb2.reverse()); //og ahah 2. 将字符串转换成字符数组,然后从末尾开

Java基础知识强化46:StringBuffer类之字符串反转的案例

1. 案例演示: 1 package cn.itcast_07; 2 3 import java.util.Scanner; 4 5 /* 6 * 把字符串反转 7 */ 8 public class StringBufferTest3 { 9 public static void main(String[] args) { 10 // 键盘录入数据 11 Scanner sc = new Scanner(System.in); 12 System.out.println("请输入数据:&quo

Java面试题从零开始:写一个函数把字符串反转

前言:为了能够找一个代表我从零开始的诗词,我挖空心思去找,然而怎么也找不到一个贴合我心意的,被迫上了度娘也不曾找到.真想把小学一年级的语文课本拿出来好好的通读一遍,肯定能找到答案. 好了,既然找不到也不必耿耿于怀了.今天读了<高效能程序员的修炼>第四章,发现自己好烂,如果按照作者的看法,我是无论如何都入不了他的法眼,于是乎,我告诉自己,从零开始,把作者提出的面试题按照Java来写一遍,无论是参考别人还是自己略能想得到的办法,亲自动手把它们敲出来,并且记录下来吧! 写一个函数把字符串反转,作为本

7 种将字符串反转的 Java 方法

import java.util.Stack;public class StringReverse { public static String reverse1(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); return reverse

字符串反转的进一步应用----单词反转

字符串反转:如给定一字符串 good bye boy. 反转之后: .yob eyb doog 实现思路: 分别从第一个字符和最后一个字符,同时向中间遍历,交换遇到的每一个字符.JAVA实现代码如下:字符数组str存储待反转的字符串. private static void inverse(char[] str, int start, int end){ int i = start; int j = end; while(i < j){ char tmp = str[i]; str[i] = s

关于字符串反转和数组反转的问题

关于反转这个问题,在晚上查了些资料,有很多非常不错的思想,要熟练的掌握这些思想,现在把这些总结如下: 字符串反转: 1 import java.util.Stack; 2 3 public class StringInverse { 4 public static void main(String[] args) { 5 System.out.println(reverse7("abcde")); 6 } 7 //方式一 8 public static String reverse1(