方法一 个人方法:
找规律,碰到I优先放最小的数,碰到D优先放最大的数,将0-n按照从小到大的顺序放入数组保存,碰到I就从数组前面取值,碰到D就从数组后面取值
var diStringMatch = function(s) {
var arr=[],perm=[]
for(var i=0;i<=s.length;i++){
arr.push(i)
}
for(var char of s){
if(char==='I') {
perm.push(arr.shift())
}else if(char === 'D'){
perm.push(arr.pop())
}
}
perm.push(arr.pop())
return perm
};
消耗时间和内存情况:?