温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中二叉树与N叉树的示例分析

发布时间:2022-03-18 11:26:50 来源:亿速云 阅读:190 作者:小新 栏目:开发技术

这篇文章主要介绍了Java中二叉树与N叉树的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

题目一

Java中二叉树与N叉树的示例分析

 解法

/**  * Definition for a binary tree node.  * public class TreeNode {  *     int val;  *     TreeNode left;  *     TreeNode right;  *     TreeNode() {}  *     TreeNode(int val) { this.val = val; }  *     TreeNode(int val, TreeNode left, TreeNode right) {  *         this.val = val;  *         this.left = left;  *         this.right = right;  *     }  * }  */ class Solution {     StringBuffer sb = new StringBuffer();     List<String> list = new ArrayList<String>();     public List<String> binaryTreePaths(TreeNode root) {         method(root);         return list;     }     public void method(TreeNode root){         if(root==null) return;         int t = sb.length();         sb.append(root.val);         if(root.left==null&&root.right==null){             list.add(sb.toString());         }         sb.append("->");         method(root.left);         method(root.right);         sb.delete(t, sb.length());     } }

题目二

Java中二叉树与N叉树的示例分析

 解法

/**  * Definition for a binary tree node.  * public class TreeNode {  *     int val;  *     TreeNode left;  *     TreeNode right;  *     TreeNode() {}  *     TreeNode(int val) { this.val = val; }  *     TreeNode(int val, TreeNode left, TreeNode right) {  *         this.val = val;  *         this.left = left;  *         this.right = right;  *     }  * }  */ class Solution {     int ans = 0;     public int sumOfLeftLeaves(TreeNode root) {         method(root,false);         return ans;     }     public void method(TreeNode root,boolean flag){         if(root==null) return;         if(root.left==null&&root.right==null&&flag){             ans+=root.val;             return;         }         method(root.left,true);         method(root.right,false);     } }

题目三

Java中二叉树与N叉树的示例分析

 解法

/* // Definition for a Node. class Node {     public int val;     public List<Node> children;     public Node() {}     public Node(int _val) {         val = _val;     }     public Node(int _val, List<Node> _children) {         val = _val;         children = _children;     } }; */   class Solution {     public int maxDepth(Node root) {         if(root==null){             return 0;         }         int maxChildDepth = 0;         for(int i = 0;i<root.children.size();i++){             int childDepth = maxDepth(root.children.get(i));             maxChildDepth = Math.max(maxChildDepth, childDepth);         }         return maxChildDepth+1;     } }

感谢你能够认真阅读完这篇文章,希望小编分享的“Java中二叉树与N叉树的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI