LintCode 67 二叉樹的中序遍歷

2021-08-20 01:57:44 字數 652 閱讀 6009

1\2

/3

返回[1,3,2]

解題思路1:(遞迴)遞迴得到左子樹的中序遍歷的vector陣列,把當前結點值新增進陣列,再遞迴得到右子樹中序遍歷的vector陣列,合併兩個vector陣列並返回。結點為null時即遍歷到最底層,直接返回空的vector陣列。

class solution 

ans.push_back(root->val);

if(root->right != null)

return ans;

}};

解題思路2:(非遞迴)使用棧作為節點的儲存結構,從root節點訪問,首先把root節點壓入棧,然後遍歷棧,每次訪問棧頂節點。如果節點的左節點非空,把左節點壓入棧並把左節點標記為null,然後遍歷下乙個節點。如果左節點為空,則把當前節點放入vector陣列,棧節點pop掉,再判斷右節點,如果右節點非空,則把右節點壓入棧並把右節點標記為null,遍歷下乙個節點。

class solution 

ans.push_back(cur->val);

st.pop();

if(cur->right != null)

}return ans;

}};

LintCode 等價二叉樹

題目描述 檢查兩棵二叉樹是否等價。等價的意思是說,首先兩棵二叉樹必須擁有相同的結構,並且每個對應位置上的節點上的數都相等。樣例 1 1 2 2 and 2 2 4 4 就是兩棵等價的二叉樹。1 1 2 3 and 2 3 4 4就不是等價的。做題思路 本題給出的bool型別的函式來判斷二叉樹是否等價...

lintcode 等價二叉樹

1 題目 檢查兩棵二叉樹是否等價。等價的意思是說,首先兩棵二叉樹必須擁有相同的結構,並且每個對應位置上的節點上的數都相等。樣例 1 1 2 2 and 2 2 4 4就是兩棵等價的二叉樹。1 1 2 3 and 2 3 4 4就不是等價的。2 思路 對兩課二叉樹從以下幾種情況考慮 兩個均空,true...

Lintcode 等價二叉樹

1 問題描述 檢查兩棵二叉樹是否等價。等價的意思是說,首先兩棵二叉樹必須擁有相同的結構,並且每個對應位置上的節點上的數都相等。樣例 1 1 2 2 and 2 2 4 4就是兩棵等價的二叉樹。1 1 2 3 and 2 3 4 4 2 解題思路 從根節點開始判斷兩顆樹是否相等,先判斷結構是否相等,在...