摘要:
一、题目 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 二、思路 递归,详见代码。 三、代码 public class Solution { public int TreeDepth(TreeNode pRoot) { if 阅读全文
摘要:
一、题目 统计一个数字在排序数组中出现的次数。 二、思路 解法一:遍历数组计数 解法二:考虑到时有序数组,所以采用分查找,找到第一个K 和 最后一个K的位置, 二者相减。 三、代码 解法一: public int GetNumberOfK(int[] array, int k) { int coun 阅读全文
摘要:
一、题目 输入两个链表,找出它们的第一个公共结点。 二、思路 如果存在共同节点的话,那么从该节点,两个链表之后的元素都是相同的。也就是说两个链表从尾部往前到某个点,节点都是一样的。我们可以用两个栈分别来装这两条链表。一个一个比较出来的值。找到第一个相同的节点。 三、代码 /* 思路: 如果存在共同节 阅读全文
摘要:
一、题目 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 二、思路 方法一: 看到这个题目,我们的第一反应是顺序扫描整个数组。没扫描到一个数组的 阅读全文
摘要:
一、题目 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 二、思路 详见代码注释。 三、代码 import java.util.LinkedHashMap; import java.util.Map; import java.util.Se 阅读全文
摘要:
一、题目 如果一个数的因子中,出去1和本身以外,质数因子只包含2、3和5,则把改数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质数因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 注释: 8的因子有1,2,4,8,出去1和8以后,还有因子2 阅读全文