数据结构 编程
文章平均质量分 71
imxiaosong
学习
展开
-
首先如何判断一个链表是否有环,并找出环的入口
http://blog.csdn.net/gukesdo/article/details/7516021首先如何判断一个链表是否有环:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:转载 2015-04-08 15:49:54 · 7614 阅读 · 2 评论 -
找出数组中2个只出现1次的数,其他数都出现2次
问题表述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。按位异或相关知识:按位异或性质:将数转化成2进制,2个数相同异或为0,2数不同异或为1: 0^0=0,1^1=0;0^1=1。(与1异或,得该位元素的反,与0异或,得该位元素)满足结合律和交换律。按位异或典型用途:1、原创 2015-04-08 09:41:49 · 4016 阅读 · 2 评论