zoukankan      html  css  js  c++  java
  • Binary Tree Paths

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


    /**
     * 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>ans;
        vector<string> binaryTreePaths(TreeNode* root) {
            if(root == NULL) return ans;
            string head = to_string(root->val);
            if(root->left) oneTreePath(head, root->left);
            if(root->right) oneTreePath(head, root->right);
            if(!root->left && !root->right)
            ans.push_back(head);
            return ans;
        }
        void oneTreePath(string head, TreeNode* root){
          string newHead = head + "->" + to_string(root->val);
          if(root->left) oneTreePath(newHead, root->left);
          if(root->right) oneTreePath(newHead, root->right);
          if(!root->left && !root->right)
            ans.push_back(newHead); 
        }
    };


  • 相关阅读:
    sql ''增删改'' 笔记
    表单
    html基础
    第一本书的总结
    带参
    字符串
    zookeeper入门与实践
    node中间层转发请求
    npm脚本传参问题
    docker入门笔记
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7084712.html
Copyright © 2011-2022 走看看