摘要: 题目:输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序思路:small代表序列最小数字,large代表序列最大数字。初始化small为1,large为2.如果序列当前和curSum大于要找的数s,则small往前移;如果序列当前和小于s,则large往前移。当... 阅读全文
posted @ 2015-08-27 22:49 不系之舟530 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:因为只有两个只出现一次的数字,所以所有数字进行异或之后得到值res一定不是0.这样,res中其中至少1bit不是0,我们根据这个bit是否为0把数组分为两组,两个只出现一次的数字肯定在不同的组。其... 阅读全文
posted @ 2015-08-27 22:14 不系之舟530 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。思路:直观的思路是,判断根结点的左子树、右子树高度差是否小于1。为避免多次访问同一结点,应该用后序遍历的方式访问。注意:加号优先级高于条件运算符Code:class Solution {public: bool IsBalanced_Solu... 阅读全文
posted @ 2015-08-27 21:33 不系之舟530 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路:根的深度=MAX(左子树深度,右子树深度)+1;Code:/*struct TreeNode { int val; struct TreeNode *lef... 阅读全文
posted @ 2015-08-27 21:10 不系之舟530 阅读(152) 评论(0) 推荐(0) 编辑