?
?
題意:
給出一個二叉樹,輸出根到所有葉子節點的路徑。
?
?
思路:
直接DFS一次,只需要判斷是否到達了葉子,是就收集答案。
?
?


1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */ 10 class Solution { 11 vector<string> ans; 12 public: 13 void DFS(string path,TreeNode* t) 14 { 15 if(t->left==NULL&&t->right==NULL) 16 { 17 ans.push_back(path); 18 return ; 19 } 20 21 if(t->left) 22 DFS(path+"->"+to_string(t->left->val),t->left); 23 if(t->right) 24 DFS(path+"->"+to_string(t->right->val),t->right); 25 } 26 vector<string> binaryTreePaths(TreeNode* root) { 27 if(root!=NULL) DFS(to_string(root->val),root); 28 return ans; 29 } 30 };
?