Binary Tree Paths,binarytreepaths

來源:互聯網
上載者:User

Binary Tree Paths,binarytreepaths


        該題採用深搜就可以做了(其實樹的很多問題用深搜的思路都可以解決的),從根節點開始記錄路徑上的每一個節點,每到一個葉子節點把路徑放入結果vector中就可以了。

/** * 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:    string int2str(int src){        stringstream dst;        dst << src;        return dst.str();    }    void execTraverl(TreeNode* root, vector<string> &result, string tmp){        if(root -> left == nullptr && root -> right == nullptr){            tmp += "->";            tmp += int2str(root -> val);            result.push_back(tmp);            return;        }                    if(root -> left != nullptr){            string tmp1 = tmp;            tmp1 += "->";            tmp1 += int2str(root -> val);            execTraverl(root -> left, result, tmp1);        }                if(root -> right != nullptr){            string tmp2 = tmp;            tmp2 += "->";            tmp2 += int2str(root -> val);            execTraverl(root -> right, result, tmp2);        }    }    vector<string> binaryTreePaths(TreeNode* root){        string tmp;        vector<string> result;                if(root == nullptr)            return result;                if(root -> left == nullptr && root -> right == nullptr){            tmp += int2str(root -> val);            result.push_back(tmp);            return result;        }                if(root -> left != nullptr){            string tmp1;            tmp1 += int2str(root -> val);            execTraverl(root -> left, result, tmp1);        }                if(root -> right != nullptr){            string tmp2;            tmp2 += int2str(root -> val);            execTraverl(root -> right, result, tmp2);        }                return result;    }};


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.