03 2025 档案
摘要:226.翻转二叉树 其实就是把二叉树的每一个结点的左右子树都反转 递归写法 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * T
        阅读全文
            
摘要:二叉树在大二学数据结构的时候就没搞懂。。现在从头捡起来 基本知识 https://programmercarl.com/二叉树理论基础.html 二叉树的遍历 深度优先遍历 前序遍历(递归法,迭代法) 中序遍历(递归法,迭代法) 后序遍历(递归法,迭代法) 广度优先遍历 层次遍历(迭代法) 递归遍历
        阅读全文
            
摘要:150. 逆波兰表达式求值 同样使用栈,碰到数字就入栈,碰到运算符就出栈两个数字进行运算结果,将结果入栈 class Solution { public: int evalRPN(vector<string>& tokens) { stack<int> st; for(string s:tokens
        阅读全文
            
摘要:由于栈(队列)底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能),所以STL中栈往往不被归类为容器,而被归类为container adapter(容器适配器)。 C++ STL stack push():将元素压入栈顶。 pop():将栈顶元素弹出。 top():访问栈顶元素。 e
        阅读全文
            
摘要:151.翻转字符串里的单词 把复杂问题拆分成简单问题的能力比较薄弱。比如这个问题中: 删除空格 =》删除字符串中的元素并且添加 调转单词=》先把整串字符串倒转,再分别倒转正每个单词 class Solution { public: string reverseWords(string s) { //
        阅读全文
            
摘要:什么时候用库函数什么时候不用? 如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。 如果库函数仅仅是 解题过程中的一小部分,并且你已经很清楚这个库函数的内部实现原理的话,可以考虑使用库函数。 344.反转字符串 easy class Solution { public: void rev
        阅读全文
            
摘要:454.四数相加II 和昨天那个两数之和为target有点像。 一开始想的是创建四个map分别存数组,但是这样跟暴力算法也没区别。 class Solution { public: int fourSumCount(vector<int>& nums1, vector<int>& nums2, ve
        阅读全文
            
摘要:一般哈希表都是用来快速判断一个元素是否出现集合里。 用于实现哈希的数据结构 std::unordered_map 底层实现为哈希表,std::map 和 std::multimap 的底层实现是红黑树。同理,std::map 和 std::multimap 的key也是有序的(这个问题也经常作为面试
        阅读全文
            
摘要:24. 两两交换链表中的节点 要画图,不然会乱。 class Solution { public: ListNode* swapPairs(ListNode* head) { ListNode* fhead=new ListNode(); fhead->next=head; ListNode* p=
        阅读全文
            
摘要:203.移除链表元素 开始觉得很简单,自信满满写了答案 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(null
        阅读全文
            
摘要:209.长度最小的子数组 子数组元素之和大于等于target 重点:滑动窗口 为什么用滑动窗口?子数组是连续的 一开始自己写的: class Solution { public: int minSubArrayLen(int target, vector<int>& nums) { int left
        阅读全文
            
摘要:704.二分查找 对于有序元素的查找,二分搜索简单高效。 二分查找写很多遍了,三个指针:left right mid,重点在于范围的开闭情况。 我之前“背”的一直都是左闭右闭的情况 class Solution { public: int search(vector<int>& nums, int 
        阅读全文
            
                    
                
浙公网安备 33010602011771号