ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LeetCode hot100——两两交换链表中的节点

LeetCode hot100——两两交换链表中的节点 题目给你一个链表两两交换其中相邻的节点并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题即只能进行节点交换。示例 1输入head [1,2,3,4]输出[2,1,4,3]示例 2输入head []输出[]示例 3输入head [1]输出[1]提示链表中节点的数目在范围[0, 100]内0 Node.val 100题解/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val val; } * ListNode(int val, ListNode next) { this.val val; this.next next; } * } */ class Solution { public ListNode swapPairs(ListNode head) { ListNode dummy new ListNode(0,head); ListNode temp dummy; while(temp.next ! null temp.next.next ! null){//链表为空或单元素结束循环 ListNode node1 temp.next; ListNode node2 temp.next.next; temp.next node2; node1.next node2.next; node2.next node1; temp node1; } return dummy.next; } }
返回列表