这是我参与11月更文挑战的第26天,活动详情查看:2021最后一次更文挑战
2.删除所有值为x的节点(没要求递归)
思路:创建一个p和pre指针,一个指向当前节点,一个指向前一个节点
如果遇到相同,那么就”跨越”这个节点
3.反向输出链表
思路:一直递归到最后,从而输出从里层往外输出
4.删除链表中最小元素
##思路:维护最小值指针和他的前驱指针,遍历记录最小值,最后删除
1 | c复制代码void DeleMin(LinkList &L){ |
5.链表就地反转
思路:维护两个指针,cur和pre,让pre永远在cur的前方
1 | c复制代码ListNode reverseList(ListNode head) { |
6.重排链表,使其变成递增序列
思路:使用插入排序每次遍历到的节点,插入到前面的有序表中
1 | c复制代码void Sort(LinkList &L){ |
本文转载自: 掘金