您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎樣解析python二叉樹的所有路徑,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
主要記錄一下二叉樹的所有路徑
給定一個二叉樹,返回所有從根節點到葉子節點的路徑。 說明: 葉子節點是指沒有子節點的節點。 示例: 輸入: 1 / \ 2 3 \ 5 輸出: ["1->2->5", "1->3"] 解釋: 所有根節點到葉子節點的路徑為: 1->2->5, 1->3 來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/binary-tree-paths 著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public List<String> binaryTreePaths(TreeNode root) { List<String> result = new ArrayList<>(); if(root == null) { return result; } solve(root, "", result); return result; } public void solve(TreeNode root, String cur, List<String> result){ if(root == null) { return; } cur += root.val; if(root.left==null && root.right==null) { result.add(cur); return; } solve(root.left, cur+"->", result); solve(root.right, cur+"->", result); } }
這里采用遞歸的思想,設計了solve方法,方法有個集合類型的參數用于收集路徑,另外還有一個參數用于表示路徑的前綴;每次執行solve方法都將當前節點的val追加在路徑前綴,在節點為葉子節點時,將前綴添加到result中并返回;若不為葉子節點則將->
拼接到路徑前綴中,遞歸其左右子節點。
以上就是怎樣解析python二叉樹的所有路徑,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。