【leetcode-两两交换链表中的节点】

迭代法

java 复制代码
  public ListNode swapPairs(ListNode head) {
        if(head==null || head.next==null){
            return head;
        }
        ListNode result = new ListNode(0);
        result.next=head;
        ListNode curr = result;
        while(curr.next !=null && curr.next.next!=null){
            ListNode next = head.next;
                    ListNode tmp = next.next;

                    curr.next=next;
                    next.next=head;
                    head.next=tmp;

                    curr=head;
                    head=head.next;
        }
        return result.next;
    }

递归法

java 复制代码
    public ListNode swapPairs(ListNode head) {
        if(head == null || head.next==null){
            return head;
        }
        ListNode next = head.next;
        head.next = swapPairs(head.next.next);
        next.next=head;
        return next;
    }
相关推荐
?abc!22 分钟前
(哈希)128. 最长连续序列
算法·leetcode·哈希算法
Zephyrtoria33 分钟前
动态规划:01 背包(闫氏DP分析法)
java·算法·动态规划
范纹杉想快点毕业36 分钟前
解析Qt文件保存功能实现
java·开发语言·c++·算法·命令模式
Uyker1 小时前
前端与后端主流框架分类及关键特性
前端·算法·django
2301_799084672 小时前
Codeforces Round 1032 (Div. 3)
数据结构·c++·算法
岁忧2 小时前
(LeetCode 每日一题) 2016. 增量元素之间的最大差值 (数组)
java·c++·算法·leetcode·职场和发展·go
Gyoku Mint2 小时前
机器学习×第十二卷:回归树与剪枝策略——她剪去多余的分支,只保留想靠近你的那一层
人工智能·算法·机器学习·数据挖掘·pycharm·回归·剪枝
Muisti3 小时前
c++读写锁
jvm·算法
majingming1233 小时前
GRBL_UNO R3编译下载
单片机·算法
森焱森3 小时前
驱动开发,队列,环形缓冲区:以GD32 CAN 消息处理为例
c语言·单片机·算法·架构