• Leetcode 257. Binary Tree Paths


    257. Binary Tree Paths

    • Total Accepted: 56430
    • Total Submissions: 185972
    • Difficulty: Easy

    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"]

    思路:DFS。遇到叶节点就push_back。注意c++中,to_string()可以直接将int转化为string类型。

    代码:

    形式一:

     1 class Solution {
     2 public:
     3     void binaryTreePaths(vector<string>& res,TreeNode* root,string str){
     4         if(!root) return;
     5         str=str+to_string(root->val);
     6         if(!root->left&&!root->right) res.push_back(str);
     7         binaryTreePaths(res,root->left,str+"->");
     8         binaryTreePaths(res,root->right,str+"->");
     9     }
    10     vector<string> binaryTreePaths(TreeNode* root) {
    11         vector<string> res;
    12         binaryTreePaths(res,root,"");
    13         return res;
    14     }
    15 };

    形式二:

     1 class Solution {
     2 public:
     3     void binaryTreePaths(vector<string>& res,TreeNode* root,string str){
     4         if(!root->left&&!root->right) res.push_back(str);
     5         if(root->left) binaryTreePaths(res,root->left,str+"->"+to_string(root->left->val));
     6         if(root->right) binaryTreePaths(res,root->right,str+"->"+to_string(root->right->val));
     7     }
     8     vector<string> binaryTreePaths(TreeNode* root) {
     9         vector<string> res;
    10         if(root) binaryTreePaths(res,root,to_string(root->val));
    11         return res;
    12     }
    13 };
  • 相关阅读:
    Angular
    Angular
    Angular
    Angular
    Angular
    Angular
    Angular
    springsecurity 源码解读 之 RememberMeAuthenticationFilter
    springsecurity 源码解读之 AnonymousAuthenticationFilter
    springsecurity 源码解读之 SecurityContext
  • 原文地址:https://www.cnblogs.com/Deribs4/p/5689350.html
Copyright © 2020-2023  润新知