1、递归方法
void travel(Node *pNode)
{
if (pNode == Null)
{
return;
}
Deal(pNode);
for (int i=0 ;i<pNode->child_list.size(); i++)
{
Node *tmp = pNode->child_list[i];
travel(tmp);
}
}2、非递归方法
void travel(Node *pNode)
{
stack stack;
stack.push(pNode);
Node *lpNode;
while(!stack.empty())
{
lpNode = stack.top();
stack.pop();
Deal(lpNode);
for (int i=0 ;i<pNode->child_list.size(); i++)
{
stack.push(pNode->child_lis[i]);
}
}
}
递归与非递归遍历节点的实现方式
1428

被折叠的 条评论
为什么被折叠?



