本文主要是介绍每日一题——LeetCode1528.重新排列字符串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
方法一 个人方法:
新建一个数组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;
};
消耗时间和内存情况:
这篇关于每日一题——LeetCode1528.重新排列字符串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!