自己刷题可以先把src
目录删掉。
- 目录结构
-
使用方法
创建题目:
./create.sh 题号
在当月/当日文件夹下生成源码和输入
-
在leetcode.cn中复制解决方案
-
在vscode中输入
solution
,然后回车。键入
tab
可跳转到上一行,调整输入。由于我使用了clangd插件,所以不用一个个手动导入头文件,它会根据具体使用情况自动导入。
如果没有使用该插件,可以在
.vscode/cpp.json.code-snippets
自行加入#include <bits/stdc++.h>
,自己修改author值。 -
从文件中按行读取输入
如果多个输入就再读一行。
-
vector:在
common/Vector.hpp
中实现向量方法。输入
auto nums = string2vector<string>(buf);
,默认模板参数是int
,int可不加。 -
list:在
common/ListNode.hpp
中实现链表。输入
auto head = string2list(buf);
。 -
tree:在
common/TreeNode.hpp
中实现链表。输入
auto root = string2tree(buf);
。 -
graph
输入
auto graph = string2graph(buf);
。
输出直接使用
cout
。需注意
- 指针需要解引用,例如
std::cout << *root << std::endl;
。 - list,tree需要回收内存,
delete_list
,delete_tree
。
-
-
构建
./build.sh
-
执行
bin/题目
。 -
分享给其他人
./export.sh
有问题可以反馈,邮箱:[email protected]。
PROJECT_PATH
和MAX_LINE_SIZE
定义于项目根目录的CMakeLists.txt
中。如果vscode的插件(C/C++插件)无法识别,使用如下方法解决。
插件clangd
可以正确识别: