问题是什么?我如何在代码中解决它?

vhipe2zx  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(238)

问题:-
给定长度相同的字符串s和整数数组索引。字符串s将被洗牌,使得第i个位置的字符移动到洗牌字符串中的索引[i]。返回经过洗牌的字符串
输入:s=“aiohn”,索引= [3,1,4,2,0] ,正确输出:“nihao”,我的输出:“hinoa”
输入:s=“aaiougrt”,索引= [4,0,2,6,7,3,1,5] ,正确输出:“arigatou”,我的输出:“uairtoag”

class Solution {
    public String restoreString(String s, int[] indices) {

        String res= "";

        for(int i=0 ; i<s.length() ; i++){
            res+= s.charAt(indices[i]);
        }

        return res;
    }
}
wmvff8tz

wmvff8tz1#

您可以这样做:

class Solution {
    public String restoreString(String s, int[] indices) {
        char[] chars = new char[s.length()];

        for(int i = 0 ; i < s.length() ; i++){
            chars[indices[i]] = s.charAt(i);
        }

        return new String(chars);
    }
}

你所做的恰恰相反,res中的第i个字符是str.charat(索引[i]);

相关问题