二叉樹前序,中序,後序遍歷方法

2021-10-07 07:47:55 字數 2566 閱讀 2299

二叉樹的遍歷,前序,中序,後序。指的是根結點在遍歷順序上的位置。

2. 中序遍歷

3.後序遍歷

leetcode 144

給定乙個二叉樹,返回它的 前序 遍歷。

示例:輸入: [1,null,2,3]12

/3輸出: [1,2,3]

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

};

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

cur=st.

top();

st.pop();

cur=cur-

>right;

}return res;}}

;

和方法1方法差不多,是末端結點判斷不同

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

else

}return res;}}

;

和之前的方法不同,先放入右結點,在放入左節點。這個就有點模仿遞迴的方法了

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

return res;}}

;

給定乙個二叉樹,返回它的中序 遍歷。

示例:輸入: [1,null,2,3]12

/3輸出: [1,3,2]

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

};

和前序遍歷不同的地方是輸出道動態陣列的時間

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

cur = st.

top();

st.pop();

res.

push_back

(cur-

>val)

; cur=cur-

>right;}}

};

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

else

}return res;}}

;

leetcode 145

給定乙個二叉樹,返回它的 後序 遍歷。

示例:輸入: [1,null,2,3]12

/3輸出: [3,2,1]

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

};

後序遍歷用棧有很多種方法。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

else

}return res;

}private

:struct command

};};

反轉前序遍歷的方法

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

cur=st.

top();

st.pop();

cur = cur-

>left;

}for

(int i = res.

size()

-1; i >=

0; i--

)return ans;}}

;

二叉樹 前序遍歷 中序遍歷 後序遍歷

前序遍歷 dlr 是二叉樹遍歷的一種,也叫做先跟遍歷,先序遍歷,前序周遊,可記做根左右。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根節點,然後遍歷左子樹,最後遍歷右子樹。若二叉樹為空則結束返回,否則 1 ...

二叉樹前序,中序,後序遍歷詳解

只要是搞計算機的,對資料結構中二叉樹遍歷都不陌生,但是如果用到的機會不多那麼就會慢慢淡忘,溫故而之新才是最好的學習方式,現在就重新溫習一下這方面的知識。首先我想先改變這幾個遍歷的名字 前根序遍歷,中根序遍歷,後根序遍歷 前中後本來就是相對於根結點來說的,少乙個字會產生很多不必要的誤解。1.前根序遍歷...

二叉樹前序,中序,後序遍歷詳解

只要是搞計算機的,對資料結構中二叉樹遍歷都不陌生,但是如果用到的機會不多那麼就會慢慢淡忘,溫故而之新才是最好的學習方式,現在就重新溫習一下這方面的知識。首先我想先改變這幾個遍歷的名字 前根序遍歷,中根序遍歷,後根序遍歷 前中後本來就是相對於根結點來說的,少乙個字會產生很多不必要的誤解。1.前根序遍歷...