摘要: 题目:一个整形数组里除了两个数字之外,其他的数字都出现了两次。找出这两个只出现一次的数字。要求时间复杂度为O(N),空间复杂度为O(1)。分析:利用异或运算可以求出一个整形数组里唯一一个只出现一次的数字。因此,如果能将本题的数组分成两个部分,使得每个部分只包含一个只出现一次的数字,便可以求得本题的解... 阅读全文
posted @ 2015-07-06 17:29 Rosanne 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 题目一:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点一次经过的节点形成树的一条路径,最长路径的长度为树的深度。二叉树的节点定义如下:struct TreeNode{ int val; TreeNode* left; TreeNode* right;};例如,下图中二... 阅读全文
posted @ 2015-07-06 17:06 Rosanne 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目:统计一个数字在排序数组中出现的次数。解法:二分查找,算法复杂度为O(logN). 1 int getFirstIndexOfK(vector&data, int k) 2 { 3 int n = data.size(); 4 if (n == 0) 5 ret... 阅读全文
posted @ 2015-07-06 16:46 Rosanne 阅读(168) 评论(0) 推荐(0) 编辑