您好,请问下这个方法是干什么的?

public List<TreeNode> GetTreeNode(),解释下。<TreeNode>是什么意思?GetTreeNode()又是干什么的

慕田峪7331174
浏览 234回答 3
3回答

慕哥6287543

泛型,如果不加的话List内的每个元素就是Object类型的,加这个就是为了让返回值的List里面的元素变成TreeNode类型

LEATH

import java.util.Arrays;public class TreeNode implements Comparable<TreeNode>{private int label;private TreeNode leftChild;private TreeNode rightChild;//constrctors ...public int getLabel()public void setLabel(int x)public TreeNode getLeft()public TreeNode getRight()public void setLeft(TreeNode t)public void setReght(TreeNode t)public int compareTo(TreeNode ee){return getLabel()-ee.getLabel();}public TreeNode[] complexQuery(TreeNode tree,int n,int m){int Max=10000;TreeNode line[]=new TreeNode[Max]; //记录节点int len=0; //记录节点的个数int count=0; //记录符合条件的个数line[0]=tree;int f=0,r;while (true) //用广度写下所有的节点 也就是一层一层记录{for (int i=f;i<len;i++)if (line[i].getLabel()>=n&&line[i].getLabel()%m==0) count++;r=len;for (int i=f;i<len;i++){if (line[i].getLeft()!=null) line[r++]=line[i].getLeft();if (line[i].getRight()!=null) line[r++]=line[i].getRight();}if (r==len) break;f=len;len=r;}TreeNode list[]=new TreeNode[count]; //要输出的int ll=0;for (int i=0;i<len;i++)if ((line[i].getLabel()>=n&&line[i].getLabel()%m==0)) list[ll++]=line[i];Arrays.sort(list); //排序 TreeNode继承了Compareble接口return list;}}//Queue不太熟 只好用数组返回代替另外,虚机团上产品团购,超级便宜

aluckdog

import java.util.Arrays;public class TreeNode implements Comparable<TreeNode>{private int label;private TreeNode leftChild;private TreeNode rightChild;//constrctors ...public int getLabel()public void setLabel(int x)public TreeNode getLeft()public TreeNode getRight()public void setLeft(TreeNode t)public void setReght(TreeNode t)public int compareTo(TreeNode ee){return getLabel()-ee.getLabel();}public TreeNode[] complexQuery(TreeNode tree,int n,int m){int Max=10000;TreeNode line[]=new TreeNode[Max]; //记录节点int len=0; //记录节点的个数int count=0; //记录符合条件的个数line[0]=tree;int f=0,r;while (true) //用广度写下所有的节点 也就是一层一层记录{for (int i=f;i<len;i++)if (line[i].getLabel()>=n&&line[i].getLabel()%m==0) count++;r=len;for (int i=f;i<len;i++){if (line[i].getLeft()!=null) line[r++]=line[i].getLeft();if (line[i].getRight()!=null) line[r++]=line[i].getRight();}if (r==len) break;f=len;len=r;}TreeNode list[]=new TreeNode[count]; //要输出的int ll=0;for (int i=0;i<len;i++)if ((line[i].getLabel()>=n&&line[i].getLabel()%m==0)) list[ll++]=line[i];Arrays.sort(list); //排序 TreeNode继承了Compareble接口return list;}}//Queue不太熟 只好用数组返回代替
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python
Java