摘要: MS100 [061]找出数组中两个只出现一次的数字题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。思路:使用异或运算。第一遍,全部异或,得到A,A中至少有一位为1,记为t位。第二遍,对数组中的任意一个数,若t位为1,则与C异或,若t位为0,则与D异或。最后的C,D即为所求。MS100 [062]找出链表的第一个公共结点题目:两个单向链表,找出它们的第一个公共结点。思路:第一遍遍历两个链表,若尾指针相同则相交(若是循环链表,取任意一个循环中的节点即可),并且得到两个链表的长度。第二遍先让长的链表遍 阅读全文
posted @ 2012-10-09 16:36 moonswap 阅读(131) 评论(0) 推荐(0) 编辑