zoukankan      html  css  js  c++  java
  • 1721. Swapping Nodes in a Linked List

    You are given the head of a linked list, and an integer k.

    Return the head of the linked list after swapping the values of the kth node from the beginning and the kth node from the end (the list is 1-indexed).

    Example 1:

    Input: head = [1,2,3,4,5], k = 2
    Output: [1,4,3,2,5]
    

    Example 2:

    Input: head = [7,9,6,6,7,8,3,0,9,5], k = 5
    Output: [7,9,6,6,8,7,3,0,9,5]
    

    Example 3:

    Input: head = [1], k = 1
    Output: [1]
    

    Example 4:

    Input: head = [1,2], k = 1
    Output: [2,1]
    

    Example 5:

    Input: head = [1,2,3], k = 2
    Output: [1,2,3]
    

    Constraints:

    • The number of nodes in the list is n.
    • 1 <= k <= n <= 105
    • 0 <= Node.val <= 100
    class Solution {
        public ListNode swapNodes(ListNode head, int k) {
            ListNode dummy = new ListNode(-1);
            dummy.next = head;
            ListNode p = dummy, q = dummy;
            for(int i = 0; i < k; i++) p = p.next;
            while(p.next != null) {
                p = p.next;
                q = q.next;
            }
            p = dummy;
            for(int i = 0; i < k - 1; i++) p = p.next;
            int tmp = p.next.val;
            p.next.val = q.next.val;
            q.next.val = tmp;
            return dummy.next;
        }
    }

    和remove kth node from end of linked list一样,先把右边的kth node找到,然后找到左边的kthnode,交换value(没办法)即可。

  • 相关阅读:
    typeof返回的结果必定是字符串
    coe文件格式
    求余算法的FPGA实现
    dBm
    信噪比
    增益
    总谐波失真THD
    基波与谐波
    Tco时候在干嘛?
    AXI4-Slave自定义IP设计
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/14535287.html
Copyright © 2011-2022 走看看