如何替换数组中的每个第二个元素?

时间:2018-02-17 08:11:30

标签: java

如何改进我的代码?我需要每隔一步替换元素:

String replace (String s){
        String result;
        char[] chars = s.toCharArray();
        for (int i = 0; i < s.length(); i++) {
                char c = chars[i];
            for (int j = i+1; j < s.length(); j++) {
                char tmp = c;
                c = chars[j];
                chars[j] = tmp;
            }
        }
        result = new String(chars);
        return result;

2 个答案:

答案 0 :(得分:2)

使用正则表达式在一行中执行:

String replace(String s) {
    return s.substring(1).replaceAll("(.)(.)", "$2$1") + s.charAt(0);
}

算法可以通过识别它相当于将第一个字符移动到结尾并交换每个剩余的字符对来一次完成。

答案 1 :(得分:0)

好吧,让for循环上升2

current.path === ["foo", "bar"]