/
githubmirror
/
hello-algo
Обзор
Документация
Войти
/
githubmirror
/
hello-algo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
codes/cpp/chapter_backtracking/preorder_traversal_ii_compact.cpp
46 строк
998 B
Yudong Jin
Some improvements (#1073)
07 фев 2024, 17:21
Не верифицирован
07 фев 2024, 17:21
a005c6e
Код
Авторство
О чём код?
/** * File: preorder_traversal_ii_compact.cpp * Created Time: 2023-04-16 * Author: krahets (krahets@163.com) */ #include "../utils/common.hpp" vector<TreeNode *> path; vector<vector<TreeNode *>> res; /* 前序遍历:例题二 */ void preOrder(TreeNode *root) { if (root == nullptr) { return; } // 尝试 path.push_back(root); if (root->val == 7) { // 记录解 res.push_back(path); } preOrder(root->left); preOrder(root->right); // 回退 path.pop_back(); } /* Driver Code */ int main() { TreeNode *root = vectorToTree(vector<int>{1, 7, 3, 4, 5, 6, 7}); cout << "\n初始化二叉树" << endl; printTree(root); // 前序遍历 preOrder(root); cout << "\n输出所有根节点到节点 7 的路径" << endl; for (vector<TreeNode *> &path : res) { vector<int> vals; for (TreeNode *node : path) { vals.push_back(node->val); } printVector(vals); } }