您现在的位置是:首页 > 文章详情

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

日期:2018-08-29点击:500

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

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

示例:

给定 1->2->3->4, 你应该返回 2->1->4->3.

说明:

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

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

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

6be819fda7b0a7fedf5a9a9b4e79db84e3ad96e8

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

1deec344c551da30abcb7d1398811e844d8e8430

得到的结果如下:

4f4145b08ab763d6fbc2e7998f22505455663e25

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

7000030149514facb01ca60fa4ddc996ceb6355d

上述实现代码如下:

c2804f7335c938c866a11eeafb50b52a1bdbe5c5

原文发布时间为:2018-08-29本文作者:我爱小詹本文来自云栖社区合作伙伴“ 小詹学Python”,了解相关信息可以关注“ 小詹学Python”。
原文链接:https://yq.aliyun.com/articles/630638
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章