网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

OJ练习第30题——两两交换链表中的节点-创新互联

两两交换链表中的节点
    • 题目描述
    • 示例
    • Java代码(循环解决)
    • Java代码(递归解决)
    • python代码

力扣链接:两两交换链表中的节点

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的潮阳网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!题目描述

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

示例

输入:head = [1,2,3,4]
输出:[2,1,4,3]

Java代码(循环解决)
class Solution {public ListNode swapPairs(ListNode head) {if(head==null){return head;
        }
        ListNode node = new ListNode(-1);
        node.next = head;
        ListNode cur=node;
        while (cur!=null&&cur.next!=null&&cur.next.next!=null){ListNode tmp = cur.next.next;
            cur.next.next = cur.next.next.next;
            tmp.next = cur.next;
            cur.next = tmp;
            cur=cur.next.next;
        }
        return node.next;
    }
}
Java代码(递归解决)
class Solution {public ListNode swapPairs(ListNode head) {if(head == null || head.next == null) {return head;
        }
        ListNode next = head.next;
        ListNode newNode = swapPairs(next.next);

        next.next = head;
        head.next = newNode;

        return next;
    }
}
python代码
class Solution:
    def swapPairs(self, head: Optional[ListNode]) ->Optional[ListNode]:
        if not head or not head.next:
            return head

        cur = head.next.next
        head.next.next = head
        head = head.next
        head.next.next = self.swapPairs(cur)
        return head

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


名称栏目:OJ练习第30题——两两交换链表中的节点-创新互联
标题来源:http://bjjierui.cn/article/ddjjeo.html

其他资讯