要求:
给出任意两节点,判断两节点是否为纯上下级关系。例:
1.Node1为Node2的子节点或父节点,返回True
2.Node1为Node2的孙节点或祖父节点,返回True
3.Node1与Node2属同一分支,相隔数级,返回True
4.Node1为Node2同级其它节点的子节点或以下节点,返回False此函数怎样实现?
给出任意两节点,判断两节点是否为纯上下级关系。例:
1.Node1为Node2的子节点或父节点,返回True
2.Node1为Node2的孙节点或祖父节点,返回True
3.Node1与Node2属同一分支,相隔数级,返回True
4.Node1为Node2同级其它节点的子节点或以下节点,返回False此函数怎样实现?
看来我没有把问题说明白:比如Node1是Node2兄节点的子节点,则Node1的Level就比Node2的Level小一,但这并不是纯上下级关系,所以不行,Parent也同样。-------------------------------------
To hansonboy(良):
3的意思是说Node1是Node2子节点的子节点的子节点的子节点的......或Node1是Node2父节点的父节点的父节点的父节点的......,也就是说,虽然Node1和Node2相隔若干级,但它们之间为同一根系,所以返回True4的意思是说Node1和Node2不在同一根系上,所以返回False
-------
比如说程序将硬盘上的目录读取出来并用节点方式显示,就和在资源管理器中的一样,在运行中随便选择两个文件夹,然后程序判断这两个文件夹是否属同一根系(即两节点是否为纯上下级关系),并返回布尔值。
如果无法确定,则将level减1,循环,……可以根据index判断二者是否相同