数据结构和算法

链表算法

2018-11-25  本文已影响10人  小鱼嘻嘻

写在前面

好久没有写文章了,冬天来了人变得慵懒了;还有就是觉得自己写了那么的文章,一直没有什么人看,总觉得有些郁郁不得志的感觉,。可是最近看到偶尔还是有人点赞我的文章,尽然还有一个不知名的哥们给我打赏(受宠若惊),我觉得写下去还是有意义的,就像很多时候我们并不知道方向在哪里?也不知道我们做的到底是对还是错,坚持往下走走看,也许就柳暗花明又一村了。

链表翻转算法

说来不怕你笑,我也写了好多年程序了,如果没有IDE,让我在白板上写出可以正确运行的链表翻转算法我是真的写不出来的。虽然说起来很简单,把指针调换一下就OK了,实现起来并不是那么简单。说真的这还真是一个考验基本功的算法。
先来看一下我写的代码。

        LinkedNode cur = head;
        LinkedNode pre = null;
        while (cur != null) {
            LinkedNode tmp = pre;
            pre = cur;
            pre.next = tmp;
            cur = cur.next;
        }

虽然代码看起来也就三四行,但是很多时候我是特别容易搞错,因为在链表里面基本都是指针来回的指来指去,所以一定要注意移动节点的时候会造成的影响。

我来解释一下这个代码:

上一篇 下一篇

猜你喜欢

热点阅读