java二叉树的遍历算法代码,编程实现二叉树的遍历算法

  java二叉树的遍历算法代码,编程实现二叉树的遍历算法

  

题目一

N叉树题——前序遍历

 

  根据给定的普通叉树根节点,返回它节点值的前序遍历

  具体题目如下

  解法

  /*//节点。类节点的定义{公共int val公共链表结点子级;public Node(){ } public Node(int _ val){ val=_ val;} public Node(int _val,list Node _ children){ val=_ val;儿童=_儿童;}};*/class Solution { ArrayListInteger list=new ArrayListInteger();公共列表整数前序(节点根){ if(root==null)返回列表;列表。添加(根。val);for(int I=0;iroot。孩子。size();I){前序(根。孩子。get(I));}返回列表;}}

题目二

N叉树题——后序遍历

 

  根据给定的普通叉树根节点,返回它节点值的后序遍历

  具体题目如下

  解法

  /*//节点。类节点的定义{公共int val公共链表结点子级;public Node(){ } public Node(int _ val){ val=_ val;} public Node(int _val,list Node _ children){ val=_ val;儿童=_儿童;}};*/class Solution { ArrayListInteger list=new ArrayListInteger();公共列表整数发布顺序(节点根){ if(root==null)返回列表;for(int I=0;iroot。孩子。size();I){邮政订单(根。孩子。get(I));}列表。添加(根。val);退货单;}}

题目三

二叉树题——创建字符串

 

  根据给定的二叉树,采用前序遍历的方式并按指定条件将它转换为字符串

  具体题目如下

  解法

  /** *二叉树节点的定义。*公共类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解决方案{公共字符串tree2str(TreeNode root) { //root为空返回" " if(root==null){ return " ";} //根左右为空如果(根。left==空根。right==null){返回根。val} //根右为空如果(根。right==null){返回根。val ( tree 2 str(root。左));} //根左右不空或是左不为空返回根。val ( tree 2 str(root。left)) ( tree 2 str(root。右));}}

题目四

数组题——数组中三个数最大乘积

 

  根据给定的整型数组,返回其中三个数组成的最大乘积

  具体题目如下

  解法

  class Solution { public int maximum product(int[]nums){ arrays . sort(nums);int n=nums.length//得到最大的三个数,或者最小的两个数和最大的个数intans=math . max(nums[n-1]* nums[n-2]* nums[n-3],nums[n-1]* nums[0]* nums[1]);返回ans} }//得到最大的三个数,或者最小的两个数和最大的一个类解{ public int maximum product(int[]nums){//最小和第二小的int min1=integer.max _ value,min2=integer.max _ value//最大第二第三大int max1=integer.min _ value,max2=integer.min _ value,max3=integer.min _ valuefor(int n : nums){ if(nmin 1){ min 2=min 1;min 1=n;} else if(nmin 2){ min 2=n;} if(nmax 1){ max 3=max 2;max2=max1max 1=n;} else if(nmax 2){ max 3=max 2;max 2=n;} else if(nmax 3){ max 3=n;} } return math . max(min 1 * min 2 * max 1,max 1 * max 2 * max 3);}}}就这样。本文介绍了sword Offer的Java算法练习,重点是遍历N-树、数组和字符串。关于Java N-tree遍历的更多信息,请搜索热门IT之前的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: