zoukankan      html  css  js  c++  java
  • 【力扣】24. 两两交换链表中的节点

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

    你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

    示例 1:


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

    输入:head = []
    输出:[]
    示例 3:

    输入:head = [1]
    输出:[1]
     

    提示:

    链表中节点的数目在范围 [0, 100] 内
    0 <= Node.val <= 100

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs

    /**
     * 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) {
            if(head == null || head.next == null){
                return head;
            }
            ListNode temp = head.next; //这里是当前节点的下一个,目的是把他交换成当前节点的前一个节点
            head.next = swapPairs(temp.next); //处理下个节点的下个节点
            temp.next = head; //当前节点的下一个设置为head
            return temp;
            
        }
    }
    一个入行不久的Java开发,越学习越感觉知识太多,自身了解太少,只能不断追寻
  • 相关阅读:
    自主学习1
    动手动脑10.28
    《程序员修炼之道》阅读笔记三
    《程序员修炼之道》阅读笔记
    11月20,21,22训练赛
    Rabbits(跳兔子)
    01背包变式(并查集+dp01背包)
    问题 I: 约会序列(两边枚举)
    问题 J: 直角三角形
    Cow Exhibition (01背包的负数处理)
  • 原文地址:https://www.cnblogs.com/fengtingxin/p/13812228.html
Copyright © 2011-2022 走看看