Leetcode打卡 | No.24 两两交换链表中的节点
No.24 两两交换链表中的节
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
示例:
给定 1->2->3->4, 你应该返回 2->1->4->3.
说明:
● 你的算法只能使用常数的额外空间。● 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
分析:这一题通过画图才能够比较直观的看出来思路,我们之前有提过链表的删除节点、交换节点位置等操作比列表简单方便,这里就是属于这交换类的啦。
首先初始状态是这样的,(图片来源于网络,手绘的太丑就不放出来了)
通过改变节点指针的指向确定新的连接方式 。
得到的结果如下:
之后依次后移循环上述操作,直到循环终止。
上述实现代码如下:
原文发布时间为:2018-08-29本文作者:我爱小詹本文来自云栖社区合作伙伴“ 小詹学Python”,了解相关信息可以关注“ 小詹学Python”。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
WebAssembly 新鲜事儿
更好的阅读体验欢迎移步 WebAssembly 新鲜事儿。 本周的 wasm 大新闻莫过于阮老师发的一条 twitter: 厉害了,Windows 2000 被编译成 WebAssembly,可以在浏览器里跑了。https://t.co/CdLH3hB1Ru pic.twitter.com/wAWkuCoUTd— ruanyf (@ruanyf) 2018年8月21日 体验下来确实很惊艳,大家都开玩笑说终于可以在 Chrome 里打开 Firefox 了,只是需要一点耐心 hmm... 不过,阮老师又一次搞了个大新闻,Windows 虽然底层是有很多 C 代码,但并不像 Linux 开源,既然都拿不到源码又何来被编译成 wasm 之说呢? 那真相是什么样子呢?作者 Fabrice Bellard 又是何方大神? Windows 2000 on JSLinux 在这个页面底部的 Technical notes 链接里,我们可以找到一些技术细节。原来背后是 Bellard 开发的 JSLinux 这个东西,它是一个用 JavaScript 编写的可以运行在浏览器环境的模拟器,大概可以类比到...
- 下一篇
查看Java的汇编指令
通过javap 命令,可以将字节码文件反编译。如通过下面的命令: javap -c Xxxx.class 而有时候想看某些JDK底层实现,发现反编译得到的代码并没有什么帮助,因此本文介绍如何查看Java的汇编指令,查看Java代码最真实的运行细节。 Java本身提供这个支持,但需要引入而外的包(hsdis-amd64.dylib)。 Mac下: https://github.com/evolvedmicrobe/benchmarks/blob/master/hsdis-amd64.dylib 下载下来后,将其放置到jre lib目录下即可。 查看Java的汇编指令 1、可以使用命令 java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly Main (Main是class文件) 2、在IDEA配置VM options,打印汇编指令,如下图。 -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly 这种方式,在运行程序时,直接在控制台打印汇编指令。 如果遇到: Java HotSpot(TM)...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境