LeetCode24两两交换链表中的节点

思路:

设定一个dummy虚拟头节点 [注意:需要使用malloc分配好内存],两个指针,pre在后,cur在前,先链接后面的节点,避免链表丢失,循环进入下一轮的要注意指针的位置,剩下就是常规操作

c 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* swapPairs(struct ListNode* head) {
    struct ListNode* dummy=(struct ListNode*)malloc(sizeof(struct ListNode));//设置虚拟头节点
    struct ListNode* pre;
    struct ListNode* cur;
    dummy->next=head;//初始化
    pre=dummy;
    cur=dummy->next;
    while(cur!=NULL&&cur->next!=NULL)
    {
        pre->next=cur->next;
        cur->next=cur->next->next;
        pre->next->next=cur;
        pre=cur;//指针往后跳
        cur=cur->next;
    }
    return dummy->next;
}
相关推荐
LYFlied15 分钟前
【算法解题模板】-【回溯】----“试错式”问题解决利器
前端·数据结构·算法·leetcode·面试·职场和发展
lxh011324 分钟前
最长有效括号
数据结构·算法
fei_sun30 分钟前
【总结】【数据结构】【OS】【计组】【计网】
数据结构
Code Slacker34 分钟前
LeetCode Hot100 —— 普通数组(面试纯背版)(五)
数据结构·c++·算法·leetcode·面试
sin_hielo36 分钟前
leetcode 3573(买卖股票问题,状态机dp)
数据结构·算法·leetcode
廋到被风吹走37 分钟前
【数据库】【Redis】数据结构全景图:命令、场景与避坑指南
数据结构·数据库·redis
松涛和鸣40 分钟前
34、 Linux IPC进程间通信:无名管道(Pipe) 和有名管道(FIFO)
linux·服务器·c语言·网络·数据结构·数据库
patrickpdx1 小时前
leetcode:环形链表
算法·leetcode·链表
xiaoxue..2 小时前
二叉树深度解析:从基础结构到实战应用
javascript·数据结构·面试
风筝在晴天搁浅2 小时前
hot100 3.无重复字符的最长子串
数据结构·算法·leetcode