字符串反转小Demo

mac2024-06-03  28

package com.cgfz.thread; public class Demo1 { public static void main(String[] args) { System.out.println(reverse2("abdf")); } //-------------------------------------------------将adcd或者abcdf反转为badc或fdcba---------------------- //第一种反转方法 public static String reverse1(String s) { int length = s.length(); String begain = ""; String last = ""; for (int i = 0; i < length/2; i++) { begain = s.charAt(i) + begain; } for (int j = length-1; j >length/2; j--) { last = last + s.charAt(j) ; } if(length % 2 == 0) { return begain + last + s.charAt(length/2); }else { return begain + s.charAt(length/2) + last; } } //第二种反转 public static String reverse2(String str) { Integer halflength = str.length() / 2; StringBuffer begain = new StringBuffer(str.substring(0, halflength)); StringBuffer last = new StringBuffer(str.substring(str.length() % 2 == 0 ? halflength : halflength + 1, str.length())); if(str.length() % 2 != 0) { return begain.reverse().toString() + str.charAt(halflength) + last.reverse().toString(); }else { return begain.reverse().toString() + last.reverse().toString(); } } //第三种反转 public static String reverse3(String str) { StringBuffer buffer = new StringBuffer(str); String result = buffer.reverse().toString(); if(str.length() % 2 == 0) { return result.substring(str.length()/2, str.length()) + result.substring(0, str.length()/2); }else { return result.substring(str.length()/2 + 1, str.length()) +str.charAt(str.length()/2) + result.substring(0, str.length()/2); } } //--------------------将abcd或者abcdf反转为dcba或者fdcba-------------------------------- //第三种反转 public static String reverse(String str) { String newString= ""; for (int i = 0; i < str.length(); i++) { newString=newString+str.charAt(str.length()-1-i); } return newString; } //第四种反转 public static String reverse4(String str) { return new StringBuffer(str).reverse().toString(); } }
最新回复(0)