# algorithm-study **Repository Path**: the_wind_is_blowingL/algorithm-study ## Basic Information - **Project Name**: algorithm-study - **Description**: 算法学习~ - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-21 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 目录结构说明 coding中是lecode算法题 examples中是c++的知识 #### 数组: 1. 二分查找(704) 2. 搜索插入位置(35) 3. 移除元素(27) 4. 有序数组的平方(977) 5. 长度最小的子数组(209) 6. 螺旋矩阵(59) #### 链表: 1. 移除链表元素(203) 2. 设计链表(707) 3. 反转链表(206) 4. 两两交换链表中的节点(24) 5. 删除链表的倒数第n个节点(19) 6. 链表相交(160) 7. 环形链表入口及入口节点(142) #### 哈希表: 1. 有效的字母异位词(242) 2. 两个数组的交集(349) 3. 快乐数(202) 4. 两数之和(1) 5. 四数相加(454) 6. 赎金信(383)简单 类似 有效的字母异位词 7. 三数之和(15) 8. 四数之和(18)n数之和类型的题目看这题解题思路就通解了 #### 字符串 1. 反转字符串(344) 2. 反转字符串Ⅱ(541) 3. 将所有数字用字符替换(1844) 4. 替换数字(kamacode54) 5. 反转字符串中的单词(151) 6. 右旋转字符串(kamacode55) 7. 找出字符串中第一个匹配项的下标(28) 8. 重复的子字符串(459) #### 栈与队列 1. 用栈实现队列(232) 2. 用队列实现栈(225) 3. 有效的括号(20) 4. 删除字符串中的所有相邻重复项(1047) 5. 逆波兰表达式求值(150) 6. 滑动窗口最大值(239) 7. 前K个高频元素(347) #### 二叉树 1. 二叉树的前序遍历(144) 2. 二叉树的后续遍历(145) 3. 二叉树的中序遍历(94)递归,迭代,统一迭代 4. 二叉树的层序遍历(102)DFS、BFS比较 5. 二叉树的自底向上层序遍历(107) 6. 二叉树的右视图(199) 7. 二叉树的层平均值(637) 8. N叉树的层序遍历(429) 9. 在每个树行中找最大值(515) 10. 填充每个节点的下一个右侧节点指针1(116) 11. 填充每个节点的下一个右侧节点指针2(117) 12. 二叉树的最大深度(104) 13. 二叉树的最小深度(111) 14. 翻转二叉树(226) 15. N叉树的前序遍历(589) 15. N叉树的后序遍历(590) 16. 对称二叉树(101) 17. 相同的树(100) 18. 另一颗树的子树(572) 19. N叉树的最大深度(559) 20. 完全二叉树的节点个数(222) 21. 平衡二叉树(110) 22. 二叉树的所有路径(257) 23. 二叉树的左叶子之和(404) 24. 找树左下角的值(513) 25. 路径总和(判断是否有符合的路径)(112) 26. 路径总和Ⅱ(返回所有符合的路径)(113) 27. 从前序与中序遍历序列构造二叉树(105) 28. 从中序与后序遍历序列构造二叉树(106) 29. 最大二叉树(654) 30. 合并二叉树(617) 31. 二叉搜索树中的搜索(700) 32. 验证二叉搜索树(98) 33. 二叉搜索树的最小绝对差(530) 34. 二叉搜索树中的众数(501) 36. 二叉搜索树的最近公共祖先(235) 37. 二叉搜索树中的插入操作(701) ### 环境搭建 安装MinGW编译器 vscode安装c/c++扩展插件 .vscode配置文件(使用vscode进行创建) - c_cpp_properties.json - tasks.json - launch.json 可参考[将 GCC 与 MinGW 结合使用](https://code.visualstudio.com/docs/cpp/config-mingw) code runner插件: - 直接运行Ctrl + Alt + N - 多文件编译运行(在extension中选择Edit in settings中进行配置) ``` "cpp": "cd $dir && g++ *.cpp -o $fileNameWithoutExt && $dir$fileNameWithoutExt", ``` 进行debug: - F5 通过CMake 来编译运行 `````` cmake .. // 有时候报错找不到c1路径,替换成下面指令 cmake -G "MinGW Makefiles" .. `````` 如何编写 CMakeLists.txt 参考目录 coding\letcode144 - 最终形态 通过shell脚本直接运行,将`workFolder="目录名"`替换成对应的目录 ``` ./buildAndRun.sh ``` ### 数组 ![](./assets/数组总结.png) ### 链表 ![](./assets/链表总结.png)