摘要: 一:解题思路 这道题目有2种方法,第一种是递归法,第二种是迭代法。2种方法的时间和空间复杂度都为O(n)。 二:完整代码示例 (C++ & Java & python) python递归版: class Solution: def postorderTraversal(self, root: Tre 阅读全文
posted @ 2020-03-14 18:00 repinkply 阅读(152) 评论(0) 推荐(0)
摘要: 一:解题思路 这道题目有2种解法,第一种是递归法,第二种是迭代法。他们的时间复杂度和空间复杂度都为O(n)。 二:完整代码示例 (C++版和Java版) 递归法C++: class Solution { public: void inorder(TreeNode* root, vector<int> 阅读全文
posted @ 2020-03-14 16:29 repinkply 阅读(135) 评论(0) 推荐(0)
摘要: 一:解题思路 这道题目2种做法。第一种做法就是递归法,第二种就是迭代法。这2种方法的时间复杂度和空间复杂度都为O(n)。 二:完整代码示例 (C++版和Java版) 递归C++: class Solution { public: void preorder(TreeNode* root, vecto 阅读全文
posted @ 2020-03-14 15:46 repinkply 阅读(126) 评论(0) 推荐(0)
摘要: 一:解题思路 这道题目是二叉树层序遍历的变体,只需要在二叉树层序遍历的结果上,将结果沿中轴线对调一下就行。Time:O(n),Space:O(n) 二:完整代码示例 (C++版和Java版) C++: //Time:O(n),Space:O(n) class Solution { public: v 阅读全文
posted @ 2020-03-14 14:45 repinkply 阅读(403) 评论(0) 推荐(0)
摘要: 一:解题思路 Time:O(n),Space:O(n) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> r 阅读全文
posted @ 2020-03-14 12:47 repinkply 阅读(127) 评论(0) 推荐(0)
摘要: 一:解题思路 利用一个辅助栈,当遇到左符号时候,入栈。当遇到右符号时候,与栈顶元素相比是否相等,按照这样的方式将字符串遍历循环下去,看看最后栈是否为空。 Time:O(n),Space:O(n) 二:完整代码示例 (C++、Java、Python) C++ //Time:O(n),Space:O(n 阅读全文
posted @ 2020-03-14 11:39 repinkply 阅读(222) 评论(0) 推荐(0)