数据结构与算法例题(2)——链表

简介: 删除链表以及翻转列表

image-20221002202229933

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def removeElements(self, head: Optional[ListNode], val: int) -> Optional[ListNode]:
        dummy=ListNode(-1,head)
        ans=dummy
        while dummy.next:
            if dummy.next.val!=val:
                dummy=dummy.next
            else:
                dummy.next=dummy.next.next
        return ans.next
#通过循环完成,当链表中的元素等于规定的值元素时,将该元素的next指针指向next.next也就是直接跳过这个元素,最后返回ans.next,相当于整个元素链表。

image-20221002213443086

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
        # 按照饲养员解法超出时间限制
        # dummy=ListNode(0)
        # dummy.next=head
        # while head is not None and head.next is not None:
        #     dnext=dummy.next
        #     hnext=head.next
        #     dummy.next=hnext
        #     head.next==hnext.next
        #     hnext.next=dnext
        # return dummy.next
        
        #参考解法 双指针解法
        pre=None
        cur=head
        while cur is not None:
            temp=cur.next
            cur.next=pre
            # 更新迭代
            pre=cur
            cur=temp
        return pre
相关文章
|
10天前
|
算法
【❤️算法笔记❤️】-每日一刷-19、删除链表的倒数第 N个结点
【❤️算法笔记❤️】-每日一刷-19、删除链表的倒数第 N个结点
39 1
|
10天前
|
算法 索引
❤️算法笔记❤️-(每日一刷-141、环形链表)
❤️算法笔记❤️-(每日一刷-141、环形链表)
23 0
|
10天前
|
算法
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
32 0
|
10天前
|
算法
【❤️算法笔记❤️】-每日一刷-23、合并 K 个升序链表
【❤️算法笔记❤️】-每日一刷-23、合并 K 个升序链表
25 0
|
10天前
|
存储 算法
【❤️算法笔记❤️】-每日一刷-21、合并两个有序链表
【❤️算法笔记❤️】-每日一刷-21、合并两个有序链表
37 0
|
10天前
|
存储 缓存 算法
经典算法之链表篇(三)
经典算法之链表篇(三)
|
10天前
|
算法
经典算法之链表篇(二)
经典算法之链表篇(二)
|
10天前
|
算法 索引
经典算法之链表篇
经典算法之链表篇
|
10天前
|
算法
❤️算法笔记❤️-(每日一刷-160、相交链表)
❤️算法笔记❤️-(每日一刷-160、相交链表)
12 1
|
11天前
|
算法 Java
数据结构与算法学习五:双链表的增、删、改、查
双链表的增、删、改、查操作及其Java实现,并通过实例演示了双向链表的优势和应用。
10 0
数据结构与算法学习五:双链表的增、删、改、查

热门文章

最新文章