将字符串中某个子串反转,并返回新的字符串
原文地址:将字符串中某个子串反转,并返回新的字符串-尹白|尹白博客|Linux运维|Java开发|docker容器化技术实战
public class StringTest4 {
//题目4: 将字符串中某个子串反转,并返回新的字符串
public static void main(String[] args) {
String str = "inbai.net";
String s = reverseString(str,0,str.length() -1);
System.out.println(s);
//结果: ten.iabni
}
/***
* 反转
* @param string 需要反转的字符串
* @param start 开始位置
* @param end 结束位置
* @return
*
*/
public static String reverseString(String string, int start, int end) {
char[] c = string.toCharArray();
return reverseArray(c, start, end);
}
/**
*
* @param c
* @param start
* @param end
* @return
* 原理分析:
* 把第一个字符和最后一个字符交换位置, 然后,第一个位置向后走1, 最后一个位置向前走1
*
*
*/
public static String reverseArray(char[] c, int start, int end) {
for (int i = start, j = end; i < j; i++, j--) {
char temp = c[i];
c[i] = c[j]; //
c[j] = temp;
}
return new String(c);
}
}
这道javaString面试题,主要有两个知识点,一个就是考我们对于String类转char数组的知识点, 还一个就是考我们对for循环的使用,当然了, 也有一点点的算法在里面,从而实现将字符串中某个子串反转,并返回新的字符串的操作. 