- 博客(6)
- 收藏
- 关注
原创 461. Hamming Distance
Hamming distance :两个整数的海明距离指它们包含的不同的二进制位数思路:每个int用4个字节表示,共32位,从右向左依次比较不同位的个数,带符号右移>>高位用符号位填充(正数用1、负数用0),不带符号右移>>>高位始终用0填充
2017-06-13 11:39:17 161
原创 617. Merge Two Binary Trees
题意:给出两课二叉树,使用一棵树去覆盖另一棵树(不要创建新节点),一些节点是两棵树的交叉节点,而其他的不是,合并的原则是如果两个节点重叠那么合并的值为两个节点的和,否则为非空节点。思路:递归 如果t1和t2中至少一个为NULL,则返回指向(t1, t2)中的非NULL节点; 如果t1和t2都不为NULL,则继续递归建立链接关系
2017-06-13 11:05:43 519
原创 字符串操作之string.h
c《string.h》字串操作基本常识char *ptr = “abcd” //ptr指向字符串常量“abcd”,“abcd”位于常量区,并未给ptr分配空间,如果使用ptr[1]= ‘x’,表示对字符串常量“abcd”进行修改,会出现Program terminated withsignal 11, Segmentation fault。区分指针和字符串。 char s[5
2017-05-11 10:50:06 312
原创 7. Reverse Integer
题意:反转32位的整数,当反转得到的整数越界时返回0思路:从低位到高位依次分解,构造反转的值,为了避免构造的数越界使用long整形保存,负数取模实际是绝对值取模的相反数。对于越界的值返回0
2017-05-04 17:09:33 149
原创 12. Integer to Roman
题意:将整数转化成罗马数字,整数范围为1~3999规则: 1、罗马数字共7个,分别是I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、M(1000); 2、C=AB,当BA时,C=B-A,向左最多减1次; 3、左减时不能跨越位值,比如49,不能写成50-1,而应该写作(50-10)+(10-1); 4、分解给定的整数到个位、十位、百位、千位,将各个位的值
2017-05-03 21:23:34 141
原创 3. Longest Substring Without Repeating Characters
题意:找到给定字符串中不包含重复字符的字串的最大长度思路:不包含重复字符--->判断当前游标指向的字符是否在先前的字串中出现,即查找给定字符是否在某个字符串中(哈希表,时间复杂度O(1),空间复杂度O(n)); 使用两个游标分别记录符合条件的字串的左右下标,便于求字串长度, 当被检查的字符在当前的子串中出现过时,当前子串终止继续增长,新字串从当前字符上次出现的下一个位置开始搜索。(
2017-05-02 22:04:43 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人