剑指offer
「已注销」
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【剑指offer】JZ52 两个链表的第一个公共结点
刷题地址 思路 找两个链表的第一个公共结点,可以反过来看,从倒数位的结点往前到第一个公共结点,两个链表的数值应该是一一对应的。所以可以先将链表的数值存储到栈中,实现倒置,然后一一比较倒置后的数值,使用peek(),比较时不对栈顶元素进行出栈操作,比较若相等再执行**pop()**出栈。 代码(JAVA) import java.util.Stack; public class Solution { public ListNode FindFirstCommonNode(ListNode pHea原创 2021-12-09 18:09:04 · 269 阅读 · 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 · 382 阅读 · 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 · 580 阅读 · 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 · 592 阅读 · 0 评论
分享