美文网首页
链表中的节点两两交换(LeetCode--24.两两交换链表中的

链表中的节点两两交换(LeetCode--24.两两交换链表中的

作者: 雁阵惊寒_zhn | 来源:发表于2020-11-16 09:18 被阅读0次

10月30日面试题

题目

解析

递归实现。给定一个单向链表,首先交换最前面的两个节点,然后递归执行第三个节点开始的子链表,返回的结果连接到交换后的前两节点后面,组成交换后的链表,最终返回链表的第一个节点。

代码

public Node swapPairs(Node head){
    //如果null或者只有一个节点,直接返回
    if(null == head || null == head.next){
        return head;
    }
    Node first = head;
    Node second = head.next;
    head = second.next;
    //交换两个节点
    second.next = first;
    first.next = swapPairs(head);

    return second;
}

相关文章

网友评论

      本文标题:链表中的节点两两交换(LeetCode--24.两两交换链表中的

      本文链接:https://www.haomeiwen.com/subject/bjcsvktx.html