Leecode路径相关 题目

    技术2025-06-17  15

    Leecode路径相关 题目

    Leetcode 129.路径求和 Leetcode 257.输出所有路径 都是同样的套路 递归,注意递归的参数 cur为当前状态,由于每个状态都不同,不需要取引用(&),题目求的是状态总和。 129.

    class Solution { public: int sumNumbers(TreeNode* root) { if(!root)return 0; dfs(root,root->val); return res; } private: int res = 0; void dfs(TreeNode* root,int cur){ if(!root) return ; if(!root->left && !root->right){ res+=cur; return; } if(root->left)dfs(root->left, cur*10+root->left->val); if(root->right)dfs(root->right,cur*10+root->right->val); } };

    257

    class Solution { public: vector<string> binaryTreePaths(TreeNode* root) { if(!root) return ans; dfs(root,to_string(root->val),ans); return ans; } private: string curr; vector<string> ans; void dfs(TreeNode* root,string curr, vector<string>& ans){ if(!root) return ; if(!root->left && !root->right){ ans.push_back(curr); return ; } if(root->left) dfs(root->left,curr+"->"+to_string(root->left->val),ans); if(root->right) dfs(root->right,curr+"->"+to_string(root->right->val),ans); } };
    Processed: 0.012, SQL: 9