为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕田峪7331174 2022-01-21 15:15:01
public List<TreeNode> GetTreeNode(),解释下。<TreeNode>是什么意思?GetTreeNode()又是干什么的
查看完整描述

3 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

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

查看完整回答
反对 回复 2022-01-23
?
LEATH

TA贡献1936条经验 获得超7个赞

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不太熟 只好用数组返回代替
另外,虚机团上产品团购,超级便宜



查看完整回答
反对 回复 2022-01-23
?
aluckdog

TA贡献1847条经验 获得超7个赞

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不太熟 只好用数组返回代替



查看完整回答
反对 回复 2022-01-23
  • 3 回答
  • 0 关注
  • 233 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号