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

画图

注意有虚拟头结点

注意判断时先判断cur->next != nullptr,再判断cur->next->next != nullptr

注意末尾返回dumyhead->next,用新建result指针来接并返回

class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        ListNode *dummyhead = new ListNode(0);
        dummyhead->next =  head;
        ListNode *cur = dummyhead;
        while(cur->next != nullptr && cur->next->next !=nullptr)
        {
            ListNode *tmp = cur->next;
            ListNode *tmp1 = cur->next->next->next;
            cur->next = cur->next->next;
            cur->next->next = tmp;
            cur->next->next->next = tmp1;

            cur = cur->next->next;
        }
        ListNode *result = dummyhead->next;
        delete dummyhead;
        return result;


    }
};
相关推荐
梅茜Mercy5 小时前
数据结构:链表(经典算法例题)详解
数据结构·链表
88号技师5 小时前
2024年12月一区SCI-加权平均优化算法Weighted average algorithm-附Matlab免费代码
人工智能·算法·matlab·优化算法
IT猿手5 小时前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
88号技师5 小时前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
我要学编程(ಥ_ಥ)6 小时前
一文详解“二叉树中的深搜“在算法中的应用
java·数据结构·算法·leetcode·深度优先
埃菲尔铁塔_CV算法6 小时前
FTT变换Matlab代码解释及应用场景
算法
许野平6 小时前
Rust: enum 和 i32 的区别和互换
python·算法·rust·enum·i32
chenziang16 小时前
leetcode hot100 合并区间
算法
chenziang16 小时前
leetcode hot100 对称二叉树
算法·leetcode·职场和发展
szuzhan.gy7 小时前
DS查找—二叉树平衡因子
数据结构·c++·算法