前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Leetcode打卡 | No.24 两两交换链表中的节点

Leetcode打卡 | No.24 两两交换链表中的节点

作者头像
小小詹同学
发布2018-09-25 17:58:19
4300
发布2018-09-25 17:58:19
举报
文章被收录于专栏:小詹同学小詹同学

写在前边:

欢迎和小詹一起定期刷leetcode,每周一和周五更新一题,每一题都吃透,欢迎一题多解,寻找最优解!这个记录帖哪怕只有一个读者,小詹也会坚持刷下去的!

PS:从第10开始,代码以图片形式给出,方便手机用户阅读,避免左右滑不便阅读,完整代码会上传GitHub上了:https://github.com/Jan1995/LeetCode


No.24 两两交换链表中的节点

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

示例:

代码语言:javascript
复制
给定 1->2->3->4, 你应该返回 2->1->4->3.

说明:

  • 你的算法只能使用常数的额外空间。
  • 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

分析:这一题通过画图才能够比较直观的看出来思路,我们之前有提过链表的删除节点、交换节点位置等操作比列表简单方便,这里就是属于这交换类的啦。

首先初始状态是这样的,(图片来源于网络,手绘的太丑就不放出来了)

通过改变节点指针的指向确定新的连接方式 。

得到的结果如下:

之后依次后移循环上述操作,直到循环终止。

上述实现代码如下:

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-29,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 小詹学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com