• leetcode刷题笔记二十四 两两交换链表中的节点 Scala版本


    leetcode刷题笔记二十四 两两交换链表中的节点 Scala版本

    源地址:24. 两两交换链表中的节点

    问题描述:

    Given a linked list, swap every two adjacent nodes and return its head.

    You may not modify the values in the list's nodes, only nodes itself may be changed.

    Example:

    Given 1->2->3->4, you should return the list as 2->1->4->3.
    

    代码补充:

    //本题较为简单,通过scala的模式匹配,分为1节点为空,1节点不为空2节点为空及两节点都不为空的三种情况处理,其中 1 2两种情况一般出现在链表结尾,通过对3情况下,x1 x2节点交换位置并调用函数进行继续下去,需要注意的是节点next交换顺序
    object Solution {
        def swapPairs(head: ListNode): ListNode = {
           if (head == null) return null
            (head, head.next) match {
                case(h,null) => h
                case(x1, x2) => {
                    x1.next = swapPairs(x2.next)
                    x2.next = x1
                    x2
                }
            }
        }
    }
    
  • 相关阅读:
    Gitbook
    Docker命令
    sd
    文本三剑客
    2017.4.12下午
    2017.4.11下午
    2017.4.11上午
    2017.4.10下午
    2017.4.10上午
    2017.4.7下午
  • 原文地址:https://www.cnblogs.com/ganshuoos/p/12763149.html
Copyright © 2020-2023  润新知