02 2019 档案
摘要:递归先序遍历+vector容器记录路径 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : va...
阅读全文
摘要:437 path sum C++:使用递归先序遍历,记录根节点到当前节点的路径和,如果当前节点是叶节点,判断是否等于sum
阅读全文
摘要:相关问题:112 path sum 想使用层序遍历+动态规划的方法O(n)完成,被NULL节点不能加入queue<TreeNode*> q给卡住了,之后再看看怎么改;对这种含有NULL多的怎么层序啊啊啊啊啊啊; 先看看大佬的方法: python:非递归先序遍历+字典 网上看的别人的C++代码: 原理
阅读全文
摘要:验证回文字符串 C++ 思路就是先重新定义一个string ,先遍历第一遍,字符串统一小写,去除空格;然后遍历第二遍,首尾一一对应比较;时间复杂度O(n+n/2),空间O(n);
阅读全文
摘要:C++解法一:迭代法,使用前驱指针pre,当前指针cur,临时后继指针nxt; C++方法二:递归法,Space:O(n),Time O(n)
阅读全文
摘要:要求用O(n)时间,和O(1)空间,因此思路是用本身链表进行判断,既然考虑回文,本方法思想是先遍历一次求链表长度,然后翻转前半部分链表;然后同时对前半部分链表和后半部分链表遍历,来判断对应节点的值是否对应相等,时间复杂度应该为O(2n),空间复杂度O(3);基本符合要求,但是运行时间还是有点长;
阅读全文
摘要:更新代码: 开头检测是否需要调整(是否具有第三个节点) 使用三个ListNode* 变量记录奇偶链表的头尾headA,tailA为奇链表,headB为偶数链表,由于只需要最后令tailA->next=headB因此不需要tailB。 使用两个ListNode* 变量来进行遍历,cur记录当前链表节点
阅读全文
摘要:C++代码,方法层序+互换左右孩子
阅读全文
摘要:C++ 递归遍历+判断左叶子节点,效率不高, 更多答案参考大佬解答: https://leetcode.com/problems/sum-of-left-leaves/discuss/244628/six-ways-to-solve-this-question 明天好好学习一下
阅读全文
摘要:C++代码,题目相对不是很难
阅读全文