摘要: 更新代码: 开头检测是否需要调整(是否具有第三个节点) 使用三个ListNode* 变量记录奇偶链表的头尾headA,tailA为奇链表,headB为偶数链表,由于只需要最后令tailA->next=headB因此不需要tailB。 使用两个ListNode* 变量来进行遍历,cur记录当前链表节点 阅读全文
posted @ 2019-02-27 20:59 Joel_Wang 阅读(159) 评论(0) 推荐(0) 编辑
摘要: C++代码,方法层序+互换左右孩子 阅读全文
posted @ 2019-02-27 00:15 Joel_Wang 阅读(136) 评论(0) 推荐(0) 编辑
摘要: C++ 递归遍历+判断左叶子节点,效率不高, 更多答案参考大佬解答: https://leetcode.com/problems/sum-of-left-leaves/discuss/244628/six-ways-to-solve-this-question 明天好好学习一下 阅读全文
posted @ 2019-02-26 23:44 Joel_Wang 阅读(139) 评论(0) 推荐(0) 编辑
摘要: C++代码,题目相对不是很难 阅读全文
posted @ 2019-02-26 00:12 Joel_Wang 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 这道题用STL容器就很好写了,可以用set也可以用map, 用unordered_map的C++代码如下: 12ms beat 44% 使用set: 16ms beat 33% C++ 二分法: 但是,但是,但是,题目要求time O(n2) space O(1) 说明这道题要时间换空间,那么使用二 阅读全文
posted @ 2019-01-30 20:00 Joel_Wang 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 递归方法 C++代码: 阅读全文
posted @ 2019-01-29 23:22 Joel_Wang 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 前序遍历的递归解法: 方法一C++: 前序遍历的非递归方法: 前序遍历和层序遍历的迭代写法很相似,因此也较为简单。 前序遍历采用stack,当栈顶元素p非空,前序遍历先访问栈顶元素并pop(),然后依次压入右孩子和左孩子。 层序遍历采用queue, 当队首元素p非空,层序遍历先访问队首元素并pop( 阅读全文
posted @ 2019-01-29 23:19 Joel_Wang 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 递归算法C++代码: 非递归方法(迭代):通过stack容器 C++代码:O(n)空间复杂度,O(n)时间复杂度 自己写的,实际上为将递归方法代码用stack具体化,需要注意的是加上了回溯与向下递归的判别; 别人的代码: 方法三:Morris Traversal 由于需要用到Thread Binar 阅读全文
posted @ 2019-01-29 09:21 Joel_Wang 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 相似题目: 102 103 107 其实这个解答只是reverse 了一下,算是投机取巧吧,之后写个从叶节点遍历的。 阅读全文
posted @ 2019-01-29 01:10 Joel_Wang 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 与102相比就增加了flag,用以确定要不要进行reverse操作 reverse:STL公共函数,对于一个有序容器的元素reverse ( s.begin(),s.end() )可以使得容器s的元素顺序反转; C++代码: 相似: 102 103 107 阅读全文
posted @ 2019-01-29 01:04 Joel_Wang 阅读(204) 评论(0) 推荐(0) 编辑