判斷乙個結點 乙個樹是否在一棵二叉樹中

2021-08-04 11:58:56 字數 622 閱讀 3892

判斷乙個結點是否在二叉樹中,遍歷樹中結點即可作出判斷

//結點結構

templatestruct binarytreenode

t _data;

binarytreenode* _pleftchild;

binarytreenode* _prightchild;

};

//判斷乙個結點是否在二叉樹中

bool _nodeintree(binarytreenode* proot ,binarytreenode* node)

判斷乙個樹是否二叉樹的子樹,首先判斷子樹的根是否在二叉樹中,然後再做進一步的判斷。

具體實現:

//判斷樹是否在二叉樹中

bool subtreeisintree(binarytreenode*proot1, binarytreenode*proot2)

//首先判斷一下樹的根是否在二叉樹中

bool _hassubtree(binarytreenode*proot1, binarytreenode*proot2)

return result;

}

面試題 判斷乙個節點是否在一棵二叉樹中

題目 判斷乙個節點是否在一棵二叉樹中 結點定義如下 struct binarytree binarytree pleft binarytree pright char data 首先附上建立樹 void createbinarytree binarytree proot,char str,size ...

判斷乙個樹是否對稱

使用遞迴的方法判斷樹是否對稱,也讓我更進一步的理解了遞迴。class solution object def ismirror self,left,right if left none and right none 如果左右子樹都為空,則對稱 return true elif left none o...

判斷乙個樹是否是另外乙個樹的子樹

很簡單,假如說判斷b是否為a的乙個子樹,則首先對a進行遍歷,然後如果遍歷時候節點的值等於b的根節點,則進入判斷函式進行判斷,如果完全一樣,則該函式返回true,否則返回false,在後面遞迴判斷時候,要判斷前面函式返回的是true還是false,如果是true,則它的子樹就不用再判斷了,直接返回那個...