一个多叉树,只保留叶子结点为红色的路径,绿色画出来的节点就是需要删除的部分,各位帮忙看一下,有什么好的解题思路吗,图画的不太好还请见谅
一个多叉树,只保留叶子结点为红色的路径,绿色画出来的节点就是需要删除的部分,各位帮忙看一下,有什么好的解题思路吗,图画的不太好还请见谅
收起
你可以用一个递归遍历,每个结点返回自己是否应该被删除,如果不是红叶结点就返回应该被删除
而非叶子结点,则判断它的两个子树,如果它的子树中有一个返回的是不该被删除,那就保留;否则就删除
我说的“是否被删除”,你可以设置递归函数返回值为bool型,或者int型,都可以,只要你能判断就行
报告相同问题?