06 2014 档案
摘要:Reverse Integer反转一个整数C++ Code1234567891011121314151617181920212223242526272829303132classSolution{public:intreverse(intx){/*一位数的情况*/if(-10=10){div*=10...
阅读全文
摘要:反转链表/反转链表的某一段/左旋转链表/k长度反转/反转字符串当中的单词/左旋转字符串============================================面试题16:反转链表反转单链表,返回新链表的头指针。C++ Code12345678910111213141516171819...
阅读全文
摘要:链表模拟加法/字符串模拟二进制加法/数组模拟加一操作/打印1到最大的n位数/字符串模拟乘法============================================Add Two Numbers两个链表代表两个数字,每个结点的值都是一位数字,单链表逆序存放这两个数字,构造出一个新的链表...
阅读全文
摘要:其他两次,一个一次/其他三次,一个一次/其他两次,两个一次============================================任何一个数字异或他自己都得零。注意异或运算的初始化变量为0,因为0异或任何数字都得那个数字自身。Single Number1.一个整型数组中除了一个数字之...
阅读全文
摘要:【面试题050】树中两个结点的最低公共祖先题目: 树中两个节点的最低公共祖先。思路一: 输入两个树节点,求他们的最低公共祖先,——如果是二叉树,而且是二叉搜索树,那么是可以找到公共节点的。二叉搜索树都是排序过的,位于左子树的节点都比父节点小,而位于右子树上面的节点都比父节点大。如果当前节点的值比...
阅读全文
摘要:【面试题049】把字符串转换成整数题目: 用C++定义一个不可以被继承的类。思路一: 正整数的最大值是0x7FFF FFFF,最小的负整数是0x8000 0000,因此我们需要分两种情况来分别判断整数是否发生上溢出和下溢出。123456789101112131415161718192021222...
阅读全文
摘要:【面试题048】不能继承的类题目: 用C++定义一个不可以被继承的类。思路一: 把构造函数设为私有的函数。1234567891011121314151617181920212223242526272829303132#includeusingnamespacestd;classSealedCla...
阅读全文
摘要:【面试题047】不用加减乘除做加法题目: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、* 、/四则运算符号。思路一: 用二进制,位移运算来模拟加法运算。123456789101112131415161718192021222324#includeusingnamespacestd;...
阅读全文
摘要:【面试题046】求1+2+...+n题目: 求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路一: 利用构造函数求解。1234567891011121314151617181920212223242526...
阅读全文
摘要:【面试题045】圆圈中最后剩下的数字题目: 0, 1, ... , n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。思路一: 用环形链表来模拟这个圆圈。 std::list,并不是一个环形链表,因此扫描到链表末尾的时候,我们要记得把迭代...
阅读全文
摘要:【面试题044】扑克牌的顺子题目: 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意的数字。思路一: 可以吧五张牌看成是五个数字组成的数字,大小王是特殊的数字,把他填为0(为了和其他牌区分),对数组...
阅读全文
摘要:【面试题043】n个骰子的点数题目: 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s,输入n,打印出s的所有可能的值出现的概率。n个骰子的总点数,最小为n,最大为6n,根据排列组合的知识,那个骰子,所有点数的排列数为6^n。我们先统计每一个点数出现的次数,然后把每一个点数出现的次数除以6^n,...
阅读全文

浙公网安备 33010602011771号