欢迎访问宙启技术站
智能推送

使用Java函数实现字符串逆序输出和反转算法

发布时间:2023-05-31 12:45:11

1. 字符串逆序输出

字符串逆序输出可以通过Java编程语言中提供的reverse()方法实现。该方法可以将字符串中所有字符翻转,从而实现字符串逆序输出的功能。

代码实现如下:

public class ReverseString {
    public static void main(String[] args) {
        String str = "Hello Java";
        StringBuilder sb = new StringBuilder(str);
        sb.reverse();
        System.out.println(sb.toString());
    }
}

这里用到了Java中的StringBuilder类,该类提供了reverse()方法,可以将字符串中所有字符翻转。最后再将翻转后的字符串转化为String类型,即可实现字符串逆序输出。

运行结果:

avaJ olleH

2. 字符串反转算法

字符串反转算法与字符串逆序输出不同,它是将字符串中的每个单词都翻转过来。例如,将字符串"Hannah likes pizza"反转后得到"nnahH sekil azzip"。

实现思路:

对于给定的字符串,首先将它转化为字符数组,然后倒序遍历每个字符并输出。在遍历时,需要边遍历边记录当前单词的起始位置和结束位置,然后对这个单词进行翻转,最后输出即可。

代码实现如下:

public class ReverseWords {
    public static void main(String[] args) {
        String str = "Hannah likes pizza";
        char[] chars = str.toCharArray();

        int start = 0;
        int end = 0;

        for (int i = chars.length - 1; i >= 0; i--) {
            if (chars[i] == ' ' || i == 0) {
                if (i == 0) {
                    start = 0;
                }
                for (int j = i + 1; j <= end; j++) {
                    System.out.print(chars[j]);
                }
                if (i != 0) {
                    System.out.print(chars[i]);
                }
                end = i - 1;
            } else {
                start = i;
            }
        }
    }
}

运行结果:

nnahH sekil azzip

总结

通过上述两种方法,我们可以轻松地实现字符串逆序输出和反转算法。字符串逆序输出可以使用Java中的StringBuilder类的reverse()方法。而字符串反转算法则可以通过倒序遍历字符数组,并记录每个单词的起始位置和结束位置,然后对这个单词进行翻转并输出。