求一个算法问题!,如何得到2棵树,最下的子节点,并且判断是否是同一顺序。着急!
-------1 -----1
-------2 -----1
1---- -------3
-------4
-------5
-------1
-------2 ------1
1---- -------3
-------4
-------5
比如第一个树,最下的点就是 1-1-1,1-2-1,两个点,
第二个书,最下的点就是1-2-1,一个点,
第一个树第2个点和第二个树的第一个点是一样的。
现在就知道一个List <Node> list = node.getChildren();
可以得到一个父节点。还有知道。2个树的最上节点。请问算法怎么写?
------解决方案--------------------没看懂,不过就树而言,深度优先就可以了
------解决方案--------------------什么叫同一顺序???
------解决方案-------------------- 给大家介绍个技术群
大家一起学习,一起提高
32517994
------解决方案--------------------没看懂啥意思
------解决方案--------------------做一个遍历算法,深度优先还是宽度优先都无所谓,在遍历的过程中,每当遍历到叶子节点,就把当前的路径记录下来,记录的时候,如果当前路径的长度比已经记录的路径的长度短,则不做记录;如果当前路径的长度比已经记录的路径的长度长,就放弃原来所有的记录,只留下当前路径;如果当前路径的长度跟已经记录的路径的长度一样,就一起记录下来。
这样,遍历完一棵树后,你就得到一个列表,记录着这棵树里的最长路径。
把两棵树都做个遍历,比较两个列表,OK?