
Leedcode8-reorder-list
发布日期:2025-04-04 18:38:37
浏览次数:11
分类:精选文章
本文共 899 字,大约阅读时间需要 2 分钟。
struct ListNode {
int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}};class Solution {
public:void reorderList(ListNode *head) {if (!head || !head->next) {return;}// 大神思路:逆序插入法 // 首先记录所有节点的值,方便随机访问 vector values; ListNode *ptr = head; while (ptr != nullptr) { values.push_back(ptr->val); ptr = ptr->next; } // 双指针遍历,逐步重组奇偶位置 int left = 0, right = values.size() - 1; ptr = head; while (left <= right) { // 处理当前位置为奇数的情况 if ((left - right) % 2 == 0) { ptr->val = values[left++]; } else { ptr->val = values[right--]; } ptr = ptr->next; } }
};
classifiers标题为“单链表排序算法”,内容描述着大神思路,该方法通过逆序插入法来优化链表排序的效率。该算法首先将所有节点的值存储在一个向量中,然后通过双指针操作将节点逐一插入到正确的位置。这种方法的复杂度为O(n), 且空间复杂度为O(1)。该方法的效率优于前面的错误解法,且在处理单链表排序任务时表现出色。”此优化后的版本保留了技术文档的核心内容,但更加简洁直观。
发表评论
最新留言
很好
[***.229.124.182]2025年05月12日 05时44分07秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LeetCode二叉树从上至下路径问题总结(112.113.437.129)
2023-01-31
LeetCode动态规划训练营(1~5天)
2023-01-31
LeetCode哈希表+字符类的题目总结
2023-01-31
LeetCode商汤专场——第216场周赛题解
2023-01-31
LeetCode地平线专场——第308场周赛题解
2023-01-31
LeetCode数据库题目汇总一(附答案)
2023-01-31
LeetCode数据库题目汇总二(附答案)
2023-01-31
LeetCode新手指南:从零开始掌握算法挑战
2023-01-31
LeetCode智加科技专场——第207场周赛题解
2023-01-31
leetcode正则表达式匹配
2023-01-31
LeetCode真题解析!字节技术亲码13W字算法刷题宝典太香了!(附源码+视频解析)
2023-01-31
leetcode第40题:组合总和II
2023-01-31
leetcode算法题解(Java版)-6-链表,字符串
2023-01-31
LeetCode经典——202.快慢指针之快乐数
2023-01-31
LeetCode经典——70.爬楼梯&&509.斐波拉契数列
2023-01-31
Leetcode经典系列——LRU最近最少使用机制
2023-01-31
LeetCode美团专场——第203场周赛题解
2023-01-31
LeetCode蔚来专场——第208场周赛题解
2023-01-31
leetcode题解-买卖股票的最佳时机
2023-01-31