class Solution { public: void binaryPath(TreeNode* root, vector<string>& result, string path) { if (root == NULL) { return; } if (path.empty()) { path = to_string(root->val); } else { path += "->" + to_string(root-> val); } if (root->left == NULL && root->right == NULL) { result.push_back(path); return; } if (root->left) { binaryPath(root->left, result, path); } if (root->right) { binaryPath(root->right, result, path); } } vector<string> binaryTreePaths(TreeNode* root) { vector<string> result; string path; binaryPath(root, result, path); return result; } };