![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
剑指offer
「已注销」
这个作者很懒,什么都没留下…
展开
-
【剑指offer】JZ52 两个链表的第一个公共结点
刷题地址思路找两个链表的第一个公共结点,可以反过来看,从倒数位的结点往前到第一个公共结点,两个链表的数值应该是一一对应的。所以可以先将链表的数值存储到栈中,实现倒置,然后一一比较倒置后的数值,使用peek(),比较时不对栈顶元素进行出栈操作,比较若相等再执行**pop()**出栈。代码(JAVA)import java.util.Stack;public class Solution { public ListNode FindFirstCommonNode(ListNode pHea原创 2021-12-09 18:09:04 · 164 阅读 · 0 评论 -
【剑指offer】JZ25 合并两个排序的链表
刷题地址思路递归(目的、结束条件、函数等价关系式)代码(JAVA)public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1 == null) return list2; if(list2 == null) return list1; ListNode sum = null; /原创 2021-12-08 20:48:17 · 222 阅读 · 0 评论 -
【剑指offer】JZ24 反转链表
刷题地址思路题目要求反转链表,可以简单用三个元素的关系进行分析。head,head的前一个元素(pre),head的后一个元素(next)。反转前,pre -> head -> next;反转后,pre <- head <- next。反转链可以这样进行操作:pre <- head,将head.next指向pre,但是考虑到直接简单这样指向会发生断链的情况,所以在指向之前必须用next暂存head.next。此后head.next成为新的head,依次重复,即可完成整个链原创 2021-12-08 15:44:40 · 439 阅读 · 0 评论 -
【剑指offer】JZ6 从尾到头打印链表
刷题地址思路栈 —— 原链表数据从头到尾依次进栈,出栈存入到输出链表中即为逆序。代码(JAVA)import java.util.ArrayList;import java.util.Stack; //使用栈需要导入相应的库public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { Stack<Integer>原创 2021-12-08 15:00:13 · 449 阅读 · 0 评论