10 2024 档案
摘要:226.翻转二叉树 文章链接:https://programmercarl.com/0226.翻转二叉树.html#算法公开课 题目链接:https://leetcode.cn/problems/invert-binary-tree/description/ 迭代法: 这里使用了前序遍历来交换左右孩
阅读全文
摘要:前置知识 二叉树的定义: struct BNode{ int val; BNode* lchild; BNode* rchild; BNode():lchild(NULL),rchild(NULL){} BNode(int val){ val=val; lchild=rchild=NULL; } }
阅读全文
摘要:150. 逆波兰表达式求值 文章链接:https://programmercarl.com/0150.逆波兰表达式求值.html#算法公开课 题目链接:https://leetcode.cn/problems/evaluate-reverse-polish-notation/description/
阅读全文
摘要:前置知识 文章链接:https://programmercarl.com/0028.实现strStr.html#思路 KMP的经典思想就是:当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。 前缀表:next数组就是一个前缀表(prefix table)。前
阅读全文
摘要:前置知识 栈和队列都是以deque为缺省底部结构,实际上可以自己指定vector,deque,list都可以 栈和队列都被归类为container adapter( 容器适配器) 使用栈实现队列的操作: push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 pee
阅读全文
摘要:解决无法动态分配数组arr的问题: 在 C++ 中,不能直接使用动态大小的原生数组(例如 int arr[n]),因为数组的大小必须在编译时确定。如果你传入的 n 是运行时决定的,编译器无法确定数组的大小。因此,下面的代码会在标准 C++ 中产生错误: int n; // 假设 n 是函数的参数 i
阅读全文
摘要:344.反转字符串 反转字符串比较简单,除了用reverse,可以用for循环,两头向中间夹,进行swap class Solution { public: void reverseString(vector<char>& s) { int half=s.size()/2; int length=s
阅读全文
摘要:第454题.四数相加II 文章链接:https://programmercarl.com/0454.四数相加II.html 视频讲解:https://www.bilibili.com/video/BV1Md4y1Q7Yh/ 题目链接:https://leetcode.cn/problems/4sum
阅读全文
摘要:151.翻转字符串里的单词 文章链接:https://programmercarl.com/0151.翻转字符串里的单词.html#思路 视频链接:https://www.bilibili.com/video/BV1uT41177fX/?vd_source=6cb513d59bf1f73f86d42
阅读全文
摘要:转载:https://blog.csdn.net/weixin_44309097/article/details/124086049#:~:text=在c++中,有三种主 值传递 传递的仅仅是值: void swap(int x,int y){ int tmp=x; x=y; y=tmp; cout
阅读全文