LeetCode刷题-86. 分隔链表
题目链接:86. 分隔链表
¶题解:
又是一道链表题,自己做又写成了死循环。。。
一定要画图去做!
¶题目简述:
给定一个无序链表,给定一个目标值,将小于目标值的节点放到大于等于目标值的左边!
¶题解:
很明显:要将链表一分为二,一部分放小于目标值,一部分放大于目标值。
具体思路:如下图
遇到小的放到一个链表,遇到大的放到另一个链表,最后将小的链表尾指向大的链表头,再将大的链表的末尾指向空即可!
注意:为了防止两个链表头找不到,一定要预先设置两个头lh, rh
,并设置虚拟头结点,否则lt, rt
后面的指向会乱,而且会构成死循环!(我好像就错到了这里)
时间复杂度:O(n)
¶AC代码:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小牛博客!
评论