力扣
tengfei308
这个作者很懒,什么都没留下…
展开
-
力扣(LeetCode) 136 只出现一次的数字(Java)位运算
一 题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4二 解题思路线性复杂度,且不使用额外的空间来实现,可以利用位运算的特点来实现。异或运算有一个规律:一个数异或同一个数两次之后的结果会是这个数本身也可以这么说:任何数异或自身结果为0任何数异或原创 2020-12-05 23:00:42 · 148 阅读 · 0 评论 -
力扣(LeetCode)143 重排链表(Java)
使用栈的方式来实现对链表的重排原创 2020-12-03 10:56:26 · 264 阅读 · 0 评论 -
力扣(LeetCode)142 环形链表II (java)
使用快慢指针的方式找到环形链表中环的起点原创 2020-12-03 10:28:01 · 219 阅读 · 0 评论 -
力扣(LeetCode)138 复制带随机指针的链表(Java))
一 题目描述给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示:val:一个表示 Node.val 的整数。random_index:随机指针指向的节点索引(范围从 0 到 n-1);如果不指向任何节点,则为 null 。示例 1:输入:head = [[7,null],[13,0],[11,4],[10,2原创 2020-12-03 09:47:41 · 132 阅读 · 0 评论 -
力扣(LeetCode)24 两两交换链表中的节点(Java)
一 题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围 [0, 100] 内0 <= Node.val <= 100二 解题思路:1. 将遍历的指针位置后一个节点,及下下个节点记录下来,然后将下个节点的原创 2020-12-02 21:31:14 · 168 阅读 · 0 评论