模擬遞迴的過程,利用棧的特點來實現遍歷。
我們增加乙個結構體,用來標示當前的狀態:printf/go 來完成前中後序的遍歷。
struct command
};
struct command
};class solution
stack
stack;
stack.push(command("go",root));
while(!stack.empty())
else
if(command.node->left)
stack.push(command("print",command.node));//控制入棧與訪問的先後順序}}
return res;
}
struct command
};class solution
stack
stack;
stack.push(command("go",root));
while(!stack.empty())
else
stack.push(command("print",command.node));
if(command.node->left)}}
return res;
}
struct command
};class solution
stack
stack;
stack.push(command("go",root));
while(!stack.empty())
else
if(command.node->left)}}
return res;
}
模板 二叉樹的前 中 後序遍歷
二叉樹是乙個我們十分熟悉的乙個資料結構 但二叉樹的題也沒有多少,其中求前中後序遍歷就是最經典的題了 include include define data arr pos data define lson arr pos lson define rson arr pos rson using nam...
二叉樹的前中後序遍歷
秋招記錄 對一棵二叉樹進行遍歷,我們可以採取3種順序進行遍歷,分別是前序遍歷 中序遍歷和後序遍歷。這三種方式是以訪問父節點的順序來進行命名的。假設父節點是n,左節點是l,右節點是r,那麼對應的訪問遍歷順序如下 前序遍歷 中左右 n l r 中序遍歷 左中右 l n r 後序遍歷 左右中 l r n ...
二叉樹的前 中 後序遍歷
import lombok.data import lombok.noargsconstructor data noargsconstructor class treenode 前序遍歷 根 左 右 public void preorder 遞迴向右子樹前序遍歷if this right null ...