摘要:
如果我们可以把所有数字分成两组,使得: 两个只出现一次的数字在不同的组中; 相同的数字会被分到相同的组中。 那么对两个组分别进行异或操作,即可得到答案的两个数字。这是解决这个问题的关键。 那么如何实现这样的分组呢? 记这两个只出现了一次的数字为 a 和 b,那么所有数字异或的结果就等于 a 和 b 阅读全文
摘要:
自底向上递归的做法类似于后序遍历,对于当前遍历到的节点,先递归地判断其左右子树是否平衡,再判断以当前节点为根的子树是否平衡。 如果一棵子树是平衡的,则返回其高度(高度一定是非负整数),否则返回 −1。如果存在一棵子树不平衡,则整个二叉树一定不平衡。 /** * Definition for a bi 阅读全文
摘要:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), r 阅读全文
摘要:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), r 阅读全文