
剑指offer
cjw-&
这个作者很懒,什么都没留下…
展开
-
【牛客网/剑指offer】数组中出现次数超过一半的数
这两道题基本一样只是在细节上略微不同,剑指offer的题目明确告诉存在一个数字其出现次数超出了数组的一般长度而牛客的题目则要考虑不存在这种数字的情况。总的来说做法是一样的。 剑指 Offer 39. 数组中出现次数超过一半的数字 题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 public int majorityElement(int[原创 2021-04-13 21:02:33 · 84 阅读 · 0 评论 -
剑指offer 06 从尾到头打印链表
题目描述:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 思路:首先统计链表中的节点个数,创建一个大小等于节点个数的数组,再次遍历链表并将数据倒着存入数组。 public int[] reversePrint(ListNode head) { int count=0; ListNode cur=head; while(cur!=null){ count++; cur=cur.next;原创 2021-03-02 15:39:08 · 72 阅读 · 0 评论 -
剑指offer 删除链表中的重复结点
题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 解题思路:首先设置一个傀儡节、结点作为新链表的头结点,然后遍历链表,如果遇到重复的结点则继续遍历,若结点不重复则将该结点插入到傀儡节点之后,最后返回傀儡结点的下一个结点即为删除重复结点后链表的头指针。 public ListNode deleteDuplication(Lis原创 2021-03-05 22:52:25 · 86 阅读 · 0 评论