![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
头脑风暴OO
坚持的力量
展开
-
剑指 Offer 35. 复杂链表的复制
请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例 1: 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]...原创 2022-06-09 23:04:38 · 108 阅读 · 0 评论 -
反转链表~
问题描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思想 双指针调换方向即可 需要一个临时指针存储下一个地址,画图 注意:头结点变尾节点了,最开始的head.next需赋值为null. 代码 class Solution { public ListNode reverseList(ListNode hea原创 2022-05-22 22:59:29 · 98 阅读 · 0 评论 -
从尾到头打印链表
题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 思想 单链表只能从头到尾遍历,遍历时可以使用容器存储。 不知道链表的具体长度,动态数组-》ArrayList存储 倒序遍历ArrayList,输出res数组。 语法 ArrayList // ArrayList是容器,数据类型是包装类型。 初始化:ArrayList<Integer> al原创 2022-05-22 22:42:57 · 144 阅读 · 0 评论 -
包含min函数的栈
思想 min值的保存:不能简单的通过基本数据类型解决,因为一旦当前最小值出栈,第二小,第三小的如何知道,替代为当前最小值?——用栈保存目前最小值,元素与当前最小值相等时同进同出。 比较数字大小是,能用equals,就用equals,替换== 。如果不是八中基本数据类型int,char等,==比较的是地址! Java代码 class MinStack { /** initialize your data structure here. */ Stack<Integer> s;原创 2022-05-22 11:52:36 · 61 阅读 · 0 评论 -
用两个栈实现队列
用两个栈实现队列 栈的实现 队列的实现原创 2022-05-18 22:25:46 · 145 阅读 · 0 评论