摘要:
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 如果数组中只有一个不同的数,全都异或,有2个的话,想办法把这个数组分成2个子数组例如 4 0100 6 0110 异或后为0010,将第二位是1的数分在一个子数组里,其他数分在另一个子数组里,两个子数组 组 阅读全文
摘要:
输入一棵二叉树,判断该二叉树是否是平衡二叉树。平衡二叉树 每个结点的左右子树的深度相差不超过1 解法一:采用后序遍历的方式遍历整棵二叉树 只用遍历一次结点 C++: 阅读全文
摘要:
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 C++: 阅读全文
摘要:
统计一个数字在排序数组中出现的次数。 解法一:顺序遍历 O(n) 解法二:用二分的思想 找出第一个k 和最后一个k O(logn) C++: 阅读全文
摘要:
输入两个链表,找出它们的第一个公共结点。 C++: 遍历得到两个链表的长度,求出他们之差,用的长的链表先走若干步,接着在同时在两个链表 上遍历,找到的第一个相同的结点就是他们的共同的结点 C++: 阅读全文
摘要:
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 O(nlogn) 归并排序的思想 比如 5 7 4 6 5>4 那么比5大的数也会大于4所以 c 阅读全文
摘要:
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 C++: 字符出现0次,状态为00 字符出现1次,状态为10 字符出现2次及2次以上,状态为11 java: 阅读全文