java - 如何反转给定字符数组的字符串

标签 java

我正在尝试一个有关反转字符串的 leetcode 问题。 我不明白为什么我的解决方案不起作用。任何人都可以对其进行代码审查吗?

class Solution {
    public char[] reverseString(char[] s) {
        char[] temp = new char[s.length];

        int index = s.length - 1;

        for (int i = 0; i < s.length; ++i){
            temp[i] = s[index--];
        }

        return temp;
    }
}

Leetcode 说我的输出是 ["h", "e", "l", "l", "o"],而输出应该是 ["o", "l", "l", "e", “H”]。 感谢您的帮助。

最佳答案

您的解决方案确实返回一个包含相反顺序字符的数组,但看起来他们假设您将就地执行此操作(并进行相应的测试)。迭代数组的一半,并将当前字符与长度的索引偏移量交换。就像,

public char[] reverseString(char[] s) {
    for (int i = 0; i < s.length / 2; ++i) {
        char temp = s[i];
        s[i] = s[s.length - i - 1];
        s[s.length - i - 1] = temp;
    }
    return s;
}

如果不正确,请仔细查看发布的所有要求(并在此处分享)。

关于java - 如何反转给定字符数组的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60068365/

相关文章:

java - Solr 是否可以在不重新启动 Solr 的情况下加载新的 log4j.properties 配置文件?

java - 最好的 j2me 分析器

java - 将 hashmap 的键值存储在 string[] 中

java - 为什么在删除大量 (~80%) 键后 HashMap 的大小没有改变?

java - 如何在 Eclipse 中重启 Jetty 服务器?

java - 替换 System.setProperty(....)

java - 如何从类型安全配置中的列表中删除项目?

java - Discord Bot 的命令处理

java - CFB模式输出与CTR输出相同;难道我做错了什么?

java - 在 API 级别 16 上创建/生成 R.id