摘要: 一:解题思路 这道题可以用递归法和迭代法来解决。 二:完整代码示例 (C++版和Java版) 递归法C++: class Solution { public: int max(int a, int b) { return a > b ? a : b; } int maxDepth(TreeNode* 阅读全文
posted @ 2020-03-10 16:44 repinkply 阅读(130) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:递归法。 方法二:迭代法,利用二叉树的层级遍历的思想,找到与根节点最近的叶子节点,这个时候就知道二叉树的最小深度了。 二:完整代码示例 (C++版和Java版) 递归版C++: //Time:O(n),Space:O(n)class Solution { public: int 阅读全文
posted @ 2020-03-10 16:16 repinkply 阅读(156) 评论(0) 推荐(0)
摘要: 一:解题思路 我们知道2个相同的数字异或的结果为0,所以我们只需要将数组下标和数组中每个元素相异或就能够找出最后的那个缺失的数字。 二:完整代码示例 (C++版和Java版) Time:O(n),Space:O(1) C++版: class Solution { public: int missin 阅读全文
posted @ 2020-03-10 14:43 repinkply 阅读(226) 评论(0) 推荐(0)
摘要: 一:解题思路 这道题主要有2种解题方法。第一种:利用一个辅助栈,在遍历链表的时候,将链表中所对应的元素相应的入栈,然后在相应的对比栈顶元素和链表的元素。这种方法遍历了2遍单链表,空间上用了一个栈。所以,Time:O(n),Space:O(n) 第二种方法:将单链表翻转一半,然后分别向2边进行对比。所 阅读全文
posted @ 2020-03-10 14:19 repinkply 阅读(122) 评论(0) 推荐(0)