方法一 个人方法:
新建一个数组arr,按照indices里的元素当作arr的索引,在索引位置插入s里的字符,最后把arr拼接为字符串
var restoreString = function(s, indices) {
let arr=[]
for(let i=0;i<s.length;i++){
arr[indices[i]]=s[i]
}
return arr.join('')
};
消耗时间和内存情况:
方法二:二维数组排序
按照s和indices的对应关系构建二维数组,把二维数组按照indices部分元素从小到大排序,按顺序取出s部分的字符
var restoreString = function(s, indices) {
let arr = new Array(s.length);
let str = '';
for(let i in s){
arr[i]=[indices[i],s[i]]
}
arr.sort((a,b)=>a[0]-b[0])
for(let i of arr){
str+=i[1]
}
return str;
};
消耗时间和内存情况: