如何将字符串反转

如何将字符串反转?

1、使用 StringBuilder 或 StringBuffer 的 reverse 方法,本质都调用了它们的父类 AbstractStringBuilder 的 reverse 方法实现。(JDK1.8)
2、不考虑字符串中的字符是否是 Unicode 编码,自己实现。

 

代码

        public static void main(String[] args) {
		String str = "ABCDE";
		System.out.println(reverseStringByStringBuilderApi(str));
		System.out.println(reverseString(str));
	}
	
	public static String reverseStringByStringBuilderApi(String str) {
		if (str != null && str.length() > 0) {
			return new StringBuilder(str).reverse().toString();
		}
		return str;
	}
	
	public static String reverseString(String str) {
		if (str != null && str.length() > 0) {
			int len = str.length();
			char[] chars = new char[len];
			for (int i = len - 1; i >= 0; i--) {
				chars[len - 1 - i] = str.charAt(i);
			}
			return new String(chars);
		}
		return str;
	}

 


【Java面试题与答案】整理推荐

 

### Python中实现字符串反转的方法 在Python中,有多种方法可以实现字符串反转。以下是几种常见的方法及其详细说明: #### 方法一:使用切片操作 切片是Python中最简洁、优雅的字符串反转方式之一。通过`[::-1]`的切片语法,可以从右向左遍历字符串并生成反转后的结果[^1]。 ```python string = "the crazy programmer" reversed_string = string[::-1] print("Original:", string) print("Reversed:", reversed_string) ``` #### 方法二:使用循环 通过循环从字符串末尾逐字符构建新的反转字符串。这种方法虽然效率较低,但在某些场景下可能更直观[^1]。 ```python string = "the crazy programmer" reversed_string = "" for char in string: reversed_string = char + reversed_string print("Original:", string) print("Reversed:", reversed_string) ``` #### 方法三:使用`join()`和`reversed()` `reversed()`函数可以将字符串转换为一个反向迭代器,然后通过`join()`方法将其组合成一个新的字符串[^3]。 ```python string = "the crazy programmer" reversed_string = ''.join(reversed(string)) print("Original:", string) print("Reversed:", reversed_string) ``` #### 方法四:双指针法 双指针法是一种经典的算法思想,适用于需要原地修改的情况。通过交换字符串两端的字符逐步完成反转[^4]。 ```python def reverse_string(s): left, right = 0, len(s) - 1 s_list = list(s) # 字符串转列表以便修改 while left < right: s_list[left], s_list[right] = s_list[right], s_list[left] left += 1 right -= 1 return ''.join(s_list) string = "the crazy programmer" reversed_string = reverse_string(string) print("Original:", string) print("Reversed:", reversed_string) ``` #### 方法五:递归实现 递归方法通过不断调用自身来处理字符串的一部分,直到达到基础条件[^4]。 ```python def reverse_recursive(s): if len(s) == 0: return s else: return reverse_recursive(s[1:]) + s[0] string = "the crazy programmer" reversed_string = reverse_recursive(string) print("Original:", string) print("Reversed:", reversed_string) ``` #### 注意事项 需要注意的是,Python中的字符串是不可变类型,因此在反转字符串时通常需要创建一个新的字符串对象。如果希望对字符串进行原地修改,则需先将其转换为可变类型(如列表),然后再执行相关操作。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值