字符串的反转操作

字符串的翻转操作是很多初入门字符串常考的一点。
以下4种方法,大家耐心看完。

1.利用字符串的拼接(charAt()方法),把后遍历出来的放在前面即可实现反转,这种方法是大家基本需要掌握的方法,上代码:

    public static void main(String[] args) {
        String str = "123456";
        int length = str.length();
        String str1 = "";
        for (int i = 0; i < length; i++) {
        	str1 = str.charAt(i)+str1;
//        	System.out.println(str1);
		}
        System.out.println(str1);
    }
}

该方法和接下来的字符数组的方法都是需要大家掌握使用。
2.利用字符串的拼接(toCharArray()处理成字符数组的方法),把后遍历出来的放在前面即可实现反转

	public static void main(String[] args) {
	//测试用例
		System.out.println(reverse3("123456"));
	}
    public static String reverse3(String s){ 
    //转换为字符数组
		char[] array = s.toCharArray(); 
		String reverse = "";  //新建空字符串
		//倒序遍历,注意这里为长度减一,因为我们需要取到的是下标
		for (int i = array.length - 1; i >= 0; i--) 
		reverse += array[i]; 
		return reverse; 
     } 
}

3,利用StringBuffer的reverse()方法(该方法简洁明了,日后工作中使用必不可少)

    public static String reverse1(String str)
    {
    //这里采用匿名对象的写法
    	return new StringBuffer(str).reverse().toString();
    }

4.利用递归的方法。这个作为拓宽思路

    public static String reverse(String originStr) {
        if(originStr == null || originStr.length() <= 1) {
            return originStr;
        }
        //本质上这里还是借助了字符串的相关方法
        //选择以面向过程的思路还是面向对象的思路进行解决
        return reverse(originStr.substring(1)) + originStr.charAt(0);
    }

1,2两种方法是需要训练的一种思维,作为字符串常用的相关方法加以掌握,3适合大家作为日常使用的快捷方式,4用于大家做一些算法训练。

你可能感兴趣的:(笔记,java)