257. 二叉树的所有路径
?做题思路or感想:
-
直接遍历二叉树,然后用一个字符串记录一条遍历路径,然后遍历到叶子节点的时候就把字符串加入result里就好了
-
class Solution { public: vector
result; //存答案 void dfs(TreeNode* cur, string str) { if (!cur->left && !cur->right) { //判断是否是叶子节点 result.push_back(str); return; } //分别向左右节点遍历 if (cur->left)dfs(cur->left, str + "->" + to_string(cur->left->val)); if (cur->right)dfs(cur->right, str + "->" + to_string(cur->right->val)); } vector binaryTreePaths(TreeNode* root) { if (root == nullptr)return result; dfs(root, to_string(root->val)); return result; } };