剑指offer
衡持
简单点挺好
展开
-
剑指offer-复杂链表的复制
剑指offer-复杂链表的复制题目描述:复制一个链表是较为简单的,对原链表一次遍历就可以完成,此题难点就在于如何复制链表上的这些random指针,它们在目标链表上是随机指向的。思路1:暴力解法,对一个节点的random节点在非空情况下,在链表中查找在此节点的坐标(假想链表是一个一维坐标)通过计数器可以计数得到,然后对复制节点重复此过程对对应节点的random进行赋值。/*待添加*/思路2:创建哈希表,上面问题时间复杂度为O(n^2),关键在于对每个待复制节点都需要从原链表中从头到尾的重新扫原创 2021-09-14 18:10:01 · 61 阅读 · 0 评论 -
剑指offer-从尾到头打印链表&反转链表
解决思路:反向输出链表内容其方式是先遍历到的节点后输出,典型的先进后出,使用辅助栈来完成,先把遍历到的节点放入栈中,最后一一出栈访问元素即可。于是得到如下代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution .原创 2021-09-14 17:17:12 · 127 阅读 · 0 评论