摘要: 出题:输入一个整数N,求从1到N这N个整数的十进制表示中‘1’出现的次数;分析:从左向右处理string表示的数字;当前数字长度为n,判断最左边一位数字字符;如果是0,则直接递归下一位;如果是1,则计数有两个来源,一个是n位数数字(实际就是除去最高位之后的数字大小,加上1,当其余位全部为0的时候),... 阅读全文
posted @ 2014-05-20 11:06 Leo C. 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 出题:输入一个整数,要求计算此整数的二进制表示中1的个数分析:如果整数表示为k,当其是负数的时候,使用10) {17 /**18 * 此判断条件可以替换为 k&1 == 119 * */20 ... 阅读全文
posted @ 2014-05-20 10:33 Leo C. 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 出题:反转链表(递归和非递归解法);分析:有递归跟非递归实现,注意对原始链表头节点的处理,因为其他节点都指向下一个节点,其需要指向NULL;解题: 1 struct Node { 2 int v; 3 Node *next; 4 }; 5 Node* NonRecur... 阅读全文
posted @ 2014-05-20 10:24 Leo C. 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 出题:将输入的表示整数的字符串转变为对应的整数值;分析:每当右边增加一位,说明之前的sum应该高一个数量级,所以*10。由于这两个实现仅仅考虑正规的、正整数输入,所以需要一个Wrapper函数,其功能 主要处理:符号判断(第一个字符是-,+或者直接是数字);非法输入判断(是否有非"012345678... 阅读全文
posted @ 2014-05-20 10:19 Leo C. 阅读(319) 评论(0) 推荐(0) 编辑