LeetCode day 1
class Solution { public: vector<int> sortArrayByParityII(vector<int>& nums) { int n = nums.size(); vector<int> even; // 存储偶数 vector<int> odd; // 存储奇数 // 将奇数和偶数分别放入对应的数组 for (int num : nums) { if (num % 2 == 0) { even.push_back(num); } else { odd.push_back(num); } } vector<int> result(n); // 从奇数数组和偶数数组中交替取出元素 for (int i = 0; i < n; ++i) { if (i % 2 == 0) { result[i] = even.back(); even.pop_back(); } else { result[i] = odd.back(); odd.pop_back(); } } return result; } };
方法二:
class Solution { public: vector<int> sortArrayByParityII(vector<int>& nums) { int n = nums.size(); int evenIdx = 0; // 偶数索引 int oddIdx = 1; // 奇数索引 while (evenIdx < n && oddIdx < n) { while (evenIdx < n && nums[evenIdx] % 2 == 0) { evenIdx += 2; // 找到下一个偶数位上为奇数的索引 } while (oddIdx < n && nums[oddIdx] % 2 == 1) { oddIdx += 2; // 找到下一个奇数位上为偶数的索引 } if (evenIdx < n && oddIdx < n) { swap(nums[evenIdx], nums[oddIdx]); // 交换不满足条件的元素 } } return nums; } };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现