每日一题——LeetCode922
2023-12-28 18:27:59
方法一 双指针:
一个偶指针一个奇指针,偶指针每次都指向nums里的偶数,奇指针每次指向nums里的奇数,两个指针交替push进新数组即可:
var sortArrayByParityII = function(nums) {
var even=0,odd=0,res=[],flag=true
while(res.length!= nums.length){
if(flag==true){
while(nums[even]%2!==0){
even++
}
res.push(nums[even])
even++
flag=false
}else{
while(nums[odd]%2===0){
odd++
}
res.push(nums[odd])
odd++
flag=true
}
}
return res
};
消耗时间和内存情况:?
方法二 两次遍历:
遍历一遍数组把所有的偶数放进 res[0], res[2], res[4]以此类推。
再遍历一遍数组把所有的奇数依次放进 res[1],res[3],res[5],以此类推。
var sortArrayByParityII = function(nums) {
var len = nums.length,i=0
var res = new Array(len)
for(var n of nums){
if(n%2===0){
res[i]=n
i+=2
}
}
i=1
for(var n of nums){
if(n%2!==0){
res[i]=n
i+=2
}
}
return res
};
消耗时间和内存情况:?
文章来源:https://blog.csdn.net/weixin_52878347/article/details/135273193
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!