首页 > 代码库 > 【2】原串翻转
【2】原串翻转
题目:
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。
测试样例:
"This is nowcoder"
返回:"redocwon si sihT"
代码实现:
方法一:双指针思想,前后指针所指向的字符交换,直至两指针相遇,交换完毕。
import java.util.*; public class Reverse { public String reverseString(String iniString) { if (iniString == null || iniString.length() <= 1){ return iniString; } int index1 = 0; int index2 = iniString.length() - 1; char[] arrs = iniString.toCharArray(); while(index1 < index2){ char temp = arrs[index1]; arrs[index1] = arrs[index2]; arrs[index2] = temp; index1++; index2--; } return new String(arrs); } }
方法二:反转即从字符串最后一个字符输出即可。
import java.util.*; public class Reverse { public String reverseString(String iniString) { if (iniString == null || iniString.length() <= 1){ return iniString; } StringBuilder sb = new StringBuilder(5000); for (int i = iniString.length() - 1; i >= 0; i--){ sb.append(iniString.charAt(i)); } return sb.toString(); } }
方法一:双指针思想,前后指针所指向的字符交换,直至两指针相遇,交换完毕。
【2】原串翻转
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。