力扣-链表-24 两两交换链表中的节点

思路1

设置虚拟节点作为pre,第一个节点是cur,后一个是post,不断更换顺序并且更改好pre的next

代码1

cpp 复制代码
class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        if(!head) return head;
        ListNode* cur = head;
        ListNode* post =  head->next;
        ListNode* dummpy_head = new ListNode();
        dummpy_head->next = head;
        ListNode* pre = dummpy_head;
        while(post){
            ListNode* tmpCur = new ListNode();
            ListNode* tmpPost = new ListNode();
            if(post->next && post->next->next){
                tmpCur = post->next;
                tmpPost = tmpCur->next;
            }else{
                tmpCur = nullptr;
                tmpPost = nullptr;
            }
            pre->next = post;
            cur->next = post->next;
            post->next = cur;
            pre = cur;
            cur = tmpCur;
            post = tmpPost;
        }

        return dummpy_head->next;

    }
};
相关推荐
fangzelin55 小时前
算法-滑动窗口
数据结构·算法
zcz16071278215 小时前
LVS + Keepalived 高可用负载均衡集群
java·开发语言·算法
rit84324996 小时前
人工鱼群算法AFSA优化支持向量机SVM,提高故障分类精度
算法·支持向量机·分类
佩佩(@ 。 @)6 小时前
嵌入式:走馬燈-stm32GPIOF_LED9、10; GPIOE_D10、D12 流水綫蜂鸣器
stm32·嵌入式硬件·算法
知彼解己6 小时前
字符串大数相加:从初稿到优化的思路演进
java·开发语言·算法
haing20197 小时前
使用deboor法计算三次B样条曲线在参数为u处的位置的方法介绍
算法·b样条曲线·deboor
qq_352109527 小时前
旋转数字矩阵 od
算法
大阳1237 小时前
51单片机4(温度传感器DS18B20)
开发语言·单片机·嵌入式硬件·算法·51单片机
iナナ7 小时前
Java优选算法——二分查找
数据结构·算法·leetcode
l1t7 小时前
利用美团龙猫添加xlsx的sheet.xml读取sharedStrings.xml中共享字符串输出到csv功能
xml·c语言·数据结构·人工智能·算法·解析器