在Java中,如果想要逆序输出字符串,通常可以采样首尾双向循环、单向循环或者StringBuffer、StringBuilder来实现,下面分别给出相应的示例代码。
示例代码1 — 首尾双向循环:
private static String reverse(String str) {
if (str == null) {
return null;
}
char[] chars = str.toCharArray();
for (int start = 0, end = chars.length - 1; start
上面的代码采用首尾双向循环的思路,通过临时变量的方式,实现两个字符的交换。除了首尾双向遍历方式外,也可以采用单向遍历的方式实现字符串的反转。
示例代码2 — 单向循环
private static String reverse(String str) {
if (str == null) {
return null;
}
int length = str.length();
char[] chars = new char[length];
for (int i = 0; i < length; i++) {
chars[i] = str.charAt(length - i - 1);
}
return String.valueOf(chars);
}
除了使用循环方式外,也可以借助于 StringBuilder 或 StringBuffer 的 reverse() 方法实现字符串的反转。
示例代码3 — StringBuilder 或 StringBuffer
private static String reverse(String str) {
if (str == null) {
return null;
}
return new StringBuilder(str).reverse().toString();
}
或
private static String reverse(String str) {
if (str == null) {
return null;
}
return new StringBuffer(str).reverse().toString();
}
测试验证
public static void main(String[] args) {
System.out.println(reverse("abcd"));
System.out.println(reverse("A1B2C3"));
}
输出的结果如下:
dcba
3C2B1A
更多有关Java面试相关的知识点可以关注【Java面试手册】小程序,涉及Java基础、多线程、JVM、Spring、Spring Boot、Spring Cloud、Mybatis、Redis、数据库、数据结构与算法等。
Original: https://www.cnblogs.com/javatop/p/16534319.html
Author: 然笑后端
Title: 【Java面试手册-算法篇】给定一个字符串,输出逆序字符串
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/586430/
转载文章受原作者版权保护。转载请注明原作者出处!