Advertisement

给定链表交换相邻节点

阅读量:

题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

你不能仅仅修改节点内部的数值,而是需要真正实现节点之间的交换操作。

示例:

对于输入 1->2->3->4,期望的输出应为 2->1->4->3.

链表结点交换与边界处理

代码实现:

复制代码
    /** * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    class Solution {
    public ListNode swapPairs(ListNode head) {
        if(head==null || head.next==null){//链表没有结点或者只有一个结点
            return head;
        }
        ListNode pre=head;
        ListNode preNext=head.next;
        ListNode cur=preNext.next;
        pr

全部评论 (0)

还没有任何评论哟~