題目:
給定乙個二叉樹,返回其節點值的鋸齒形層序遍歷。(即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行)。
例如:
給定二叉樹 [3,9,20,null,null,15,7],
3
/ \9 20
/ \
15 7
返回鋸齒形層序遍歷如下:
[
[3],
[20,9],
[15,7]
]
思路:同層序遍歷,採用bfs,不過要在每層加乙個奇偶標誌位,奇數層不變,偶數層則將該層得到的陣列翻轉過來即可。
c++實現如下:
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution ;
queuetemp;
vector> result;
bool signal =true;
temp.push(root);
while(!temp.empty())
if(node->right!=null)
}if(signal==false)
reverse(midmid.begin(),midmid.end());
signal=signal==true?false:true;
result.push_back(midmid);
}return result;
}};
103 二叉樹的鋸齒形層序遍歷
給定乙個二叉樹,返回其節點值的鋸齒形層序遍歷。即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回鋸齒形層序遍歷如下 3 20,9 15,7 1.普通bfs 2.dfs是乙個有意思的思路 1....
103 二叉樹的鋸齒形層序遍歷
給定乙個二叉樹,返回其節點值的鋸齒形層序遍歷。即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回鋸齒形層序遍歷如下 3 20,9 15,7 解題思路 1.基本思路模仿二叉樹的層序遍歷 2.定...
103 二叉樹的鋸齒形層序遍歷
題目描述 給定乙個二叉樹,返回其節點值的鋸齒形層序遍歷。即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回鋸齒形層序遍歷如下 3 20,9 15,7 題解 兩種思路 參考 二叉樹的層序遍歷 將...