摘要:
总结1. 书上给出一个简洁代码, 说是会重复遍历.2. 框架相同, 可以写出下面的代码class Solution {public: bool ans; int getHeight(TreeNode *root) { if(!ans) return 0; if(root == NULL) return 0; int lt = 0, rt = 0; if(root->left&&ans) { lt = 1+getHeight(root->left); } if(root->right&&ans) rt = 1 + getHeight(root-& 阅读全文
posted @ 2014-02-23 23:48
SangS
阅读(207)
评论(0)
推荐(0)
摘要:
总结1. Leetcode 上有一道题, 求某一个数字在有序数组中出现的最左位置和最右位置, 而这道题就是那题的变形 阅读全文
posted @ 2014-02-23 23:31
SangS
阅读(162)
评论(0)
推荐(0)
摘要:
题目描述:在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符思路:1. 给定的题目约束比较多, 因此可以自定义哈希函数2. 字符是一个长度为 8 的数据类型, 因此总共有 256 个可能, 因此我们可以创建一个长度为 256 的数组, 每一个下标代表一个 char, 而数组元素代表该字符出现的次数 阅读全文
posted @ 2014-02-23 23:27
SangS
阅读(215)
评论(0)
推荐(0)
摘要:
总结1. 假设 n == 2212, 算法分为两个步骤. 第一步, 将这个 2212 个数分为 1~ 212, 213 ~ 22122. 第一部分实际上是将 n 的规模缩小到 212. 假如知道如何求解 n = 2212, n = 212 就肯定也能求出3. 第二部分可以再分为 3 个小步骤 3.1 求解 213~2212 最高位上 1 的个数, 1000~1999, 共 1000 个 3.2 假如 n = 1212, 最高位上 1 的个数就是 213 个, 因为最高位上 1 个个数需要根据最高位上的值来讨论 3.3 计算后三位 1 出现的次数. 书上是这么描述的, 将某一位设置成 1,... 阅读全文
posted @ 2014-02-23 15:26
SangS
阅读(341)
评论(0)
推荐(0)

浙公网安备 33010602011771号