摘要:
链接 "530. Minimum Absolute Difference in BST" 题意 给定一个没有负数的二叉搜索树,找出任意两点节点值之差的绝对值的最小值。 二叉搜索树:对于树中的每个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。——数据结构 阅读全文
摘要:
链接 "226. Invert Binary Tree" 题意 翻转二叉树。 思路 利用递归交换结点即可。 代码 Java: 效率 Your runtime beats 30.77% of java submissions. 阅读全文
摘要:
链接 "371. Sum of Two Integers" 题意 计算两个整数的和,但是不能使用+和 运算符。 思路 不能用加减运算符的话,则需要利用位运算。两个数a和b相加,那么会产生尾数,还有可能进位。在位运算中,0+0=1,0+1=1,1+0=1,1+1=10,可以发现前三个式子和第四个式子的 阅读全文
摘要:
题目 输入一串阿拉伯数字整数,输出对应的中文大写数字 样例 123456789 壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖 1000001234 壹拾亿零壹仟贰佰叁拾肆 10000 壹万 10010 壹万零壹拾 思路 记得小学学读数的时候,从最小位从右到左,每4个数一组,如123456789,则分组为1|2 阅读全文
摘要:
链接 "389. Find the Difference" 题意 给定字符串s和t,t的生成是根据s中字母的乱序再向其中任意一个位置插入一个任意字母。找出这个字母。 思路 其实思路和之前一道题一样,只是将数字换成了字母。详见(http://www.cnblogs.com/zyoung/p/65874 阅读全文
摘要:
链接 "104. Maximum Depth of Binary Tree" 题意 给定一个二叉树,求它的最大深度(也就是高) 思路 利用递归,求每个节点的最大深度,累加起来即可 代码 Java: 总结 +1是因为当前节点未计算入内 效率 Your runtime beats 18.63% of j 阅读全文
摘要:
链接 "520. Detect Capital" 题意 给定一个单词,你需要判断这个单词中的大写字母是否使用规范。 规范如下: 1. 每个字母都是大写:USA 2. 每个字母都是小写:leetcode 3. 只有第一个字母是大写:Google 需要全部符合才视为格式正确 思路 根据给定的条件判断即可 阅读全文
摘要:
链接 "448. Find All Numbers Disappeared in an Array" 题意 给定一个整型数组,其中的元素满足 1 ≤ a[i] ≤ n (n为数组大小),一些元素出现了两次,另外一些出现一次。找出数组元素在[1, n]中没有出现的数字 思路 利用数组,创建一个大小为给 阅读全文
摘要:
链接 "136. Single Number" 题意 给定一个数组,里面的元素除了一个只出现一次之外,都出现了两次。找出只出现一次的那个元素。 思路 大概最好的解法就是用位运算了。而异或运算正好符合这道题的特征。两个相同的数进行异或结果为0,那么可以将数组中的所有数进行异或(异或还符合交换律),出现 阅读全文
摘要:
链接 "485. Max Consecutive Ones" 题意 给定一个二进制数组,找出连续1的最大长度。 思路 遍历数组,当遇到1时,初始化计数器(countOne),只要不遇到1就一直累加,一旦countOne大于ans记录的最大值,则更新ans。如果遇到0则将计数器清零。遍历完成后,ans 阅读全文