zoukankan      html  css  js  c++  java
  • 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 };
  • 相关阅读:
    GO语言(golang)官方网站!
    Android官方网站!
    如何使用Gmail的别名功能?
    函数指针
    单例 ------ JAVA实现
    网络通信方案 ------ 以太网通信软硬件实现方案
    nginx的启动和关闭
    FineReport软件
    nginx的MainLine version、Stable version、Legacy versions
    linux常用命令
  • 原文地址:https://www.cnblogs.com/Deribs4/p/5689350.html
Copyright © 2011-2022 走看看