博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode #24 Swap Nodes in Pairs
阅读量:4512 次
发布时间:2019-06-08

本文共 1078 字,大约阅读时间需要 3 分钟。

LeetCode #24 Swap Nodes in Pairs

Question

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

For example,

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

Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.

Solution

Approach #1

/** * Definition for singly-linked list. * public class ListNode { *     public var val: Int *     public var next: ListNode? *     public init(_ val: Int) { *         self.val = val *         self.next = nil *     } * } */class Solution {    func swapPairs(_ head: ListNode?) -> ListNode? {        let dummy = ListNode(0)        dummy.next = head        var p1: ListNode? = dummy        var p2 = p1?.next        while p2?.next != nil {            p1?.next = p2?.next            p2?.next = p2?.next?.next            p1?.next?.next = p2            p1 = p1?.next?.next            p2 = p1?.next        }        return dummy.next    }}

Time complexity: O(n).

Space complexity: O(1).

转载请注明出处:

转载于:https://www.cnblogs.com/silence-cnblogs/p/7066019.html

你可能感兴趣的文章
Android中Dialog的使用
查看>>
Android Activity接收Service发送的广播
查看>>
[Leetcode] Spiral Matrix | 把一个2D matrix用螺旋方式打印
查看>>
加速和监控国际网络
查看>>
【Flex】读取本地XML,然后XML数据转成JSON数据
查看>>
RecyclerView使用StaggeredGridLayoutManager布局的粘性头部实现
查看>>
Android 优雅的让Fragment监听返回键
查看>>
Android 数据库框架总结,总有一个适合你!
查看>>
Android 设置 横屏 竖屏
查看>>
Spring MVC兑现QQ第三方登录
查看>>
R类型5 R语言 数据帧
查看>>
百度云推送教程
查看>>
简单几步轻松实现在微信中直接下载APK
查看>>
python基础(六)
查看>>
接口的定义与使用
查看>>
Censtos Hadoop安装
查看>>
【模板】线段树 1(洛谷_3372)
查看>>
后台调用前台js
查看>>
解析ArrayList与LinkedList的遍历方法
查看>>
HTML/CSS权值继承
查看>>