算法
文章平均质量分 72
gogolyq
这个作者很懒,什么都没留下…
展开
-
数组中只出现一次的数字,时间复杂度O(n),空间复杂度O(1)的解法
题目:一个整型数组里除了两个数组外,其他的数字都出现了两次,要找出这两个数字。 异或运算有一个性质:任何数异或它自己,结果都是0;这样如果题目变成只有一个数字只出现一次,其他数字均出现两次,这样我们从头到尾异或数组中的每一个数字,那么最终的结果就是只出现一次的数字。 如果可以把数组中的数字分成两个子数组,每个数组里面包含一个只出现一次的数字,其他的数字都出现两次,这样按照上面原创 2015-06-04 10:46:11 · 1142 阅读 · 0 评论 -
LeetCode Remove Linked List Elements
Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6 Return: 1 --> 2 --> 3 --> 4 --> 5 题目意思:删除链表中值为val的结点 分析原创 2015-06-10 19:19:56 · 275 阅读 · 0 评论 -
leetcode Linked List Cycle
判断一个链表是否有环原创 2015-06-11 16:48:47 · 278 阅读 · 0 评论 -
Linked List Cycle II
题目大意:给一个链表,判断它是否有环,如果有,返回环开始的结点,否则返回NULL 解题技巧:首先我们使用两个指针的方法判断是否有环,确定有环后的问题就是找到环开始的结点;通过分析可以发现当两个指针相遇时指向的结点的next恰好就是环开始的结点,这样我们就可以把一个结点指到头结点处,然后通过一步一步移动两个指针,当它们再次相遇时的结点就是我们要找的结点 说的有点啰嗦,大家可以参考代码 clas原创 2015-06-11 17:07:10 · 318 阅读 · 0 评论