Leetcode 257 Binary Tree Paths

xiaoxiao2021-02-28  89

Q:

Given a binary tree, return all root-to-leaf paths.

For example, given the following binary tree:

1 / \ 2 3 \ 5

All root-to-leaf paths are:

["1->2->5", "1->3"]

A:

/**  * Definition for a binary tree node.  * struct TreeNode {  *     int val;  *     TreeNode *left;  *     TreeNode *right;  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}  * };  */ class Solution { public:     vector<string> binaryTreePaths(TreeNode* root) {         vector<string> res;                  if (root==NULL) return res;         binaryTreePaths(res, root, to_string(root->val));                  return res;             }          void binaryTreePaths(vector<string>& result, TreeNode* node, string s) {         if (node->left==NULL && node->right==NULL)         {             result.push_back(s);             return;         }                  if (node->left)     binaryTreePaths(result, node->left, s + "->" + to_string(node->left->val));                  if (node->right)    binaryTreePaths(result, node->right, s + "->" + to_string(node->right->val));     } };

转载请注明原文地址: https://www.6miu.com/read-85829.html

最新回复(0)