美文网首页
链表中的节点两两交换(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