【面試題】從上向下列印陣列|||
題目
請實現一個函式按照之字形順序列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。
判斷奇偶翻轉陣列
根據題目就是翻轉一部分返回的答案
其他的內容和從上列印陣列||的內容一樣
我自己寫了一個翻轉陣列的方法
然後判斷奇偶性 在合適的時機翻轉返回的陣列即可
void reverse(vector<int> &a) {
int left = 0;
int right = a.size() - 1;
while (left < right) {
swap(a[left], a[right]);
right--;
left++;
}
}
vector<vector<int>> levelOrder(TreeNode* root) {
vector<vector<int>> ans;
queue<TreeNode*> q;
q.push(root);
if (root == NULL) {
return ans;
}
bool flag = true;//是否是第一行
while (!q.empty()) {
vector<int> t;
int count = q.size();
while (count--) {
TreeNode* temp = q.front();
q.pop();
t.push_back(temp->val);
if (temp->left != NULL) {
q.push(temp->left);
}
if (temp->right != NULL) {
q.push(temp->right);
}
}
ans.push_back(t);
}
for (int i = 0; i < ans.size(); i++) {
if (flag) {
flag = !flag;
}
else {
reverse(ans[i]);
flag = !flag;
}
}
return ans;
}
由於時間原因 其他解法在之後我會更新
相關文章
- 【劍指offer】從上向下列印二叉樹二叉樹
- golang 陣列面試題Golang陣列面試題
- 面試題:陣列按列排序的問題面試題陣列排序
- 陣列的一些面試題陣列面試題
- 演算法面試:陣列編碼面試問題演算法面試陣列
- 劍指offer面試題29:順時針列印矩陣面試題矩陣
- 一道遞迴陣列面試題遞迴陣列面試題
- 從命令列中列印(轉)命令列
- python中怎麼列印陣列Python陣列
- 面試題——二維陣列中的查詢面試題陣列
- 第四章:多維陣列和矩陣 --------------- 4.1 基礎題:順時針列印二維陣列陣列矩陣
- 第四章:多維陣列和矩陣 ------------- 4.3 基礎題:Z形列印二位陣列陣列矩陣
- 劍指offer之順序列印陣列陣列
- JS實現順時針列印陣列JS陣列
- leetcode:面試題 01.08. 零矩陣(陣列,中等)LeetCode面試題矩陣陣列
- 陣列題目陣列
- 陣列 題目陣列
- 面試必備:陣列和字串面試陣列字串
- Google 面試題 | 3個非重複子陣列最大和Go面試題陣列
- 陣列排序(從小到大)陣列排序
- C++陣列在年曆列印中的運用C++陣列
- 深入理解陣列(上)陣列
- JavaScript 使用sort()方法從數值上對陣列進行排序JavaScript陣列排序
- 劍指Offer面試題5(Java版):從尾到頭列印連結串列面試題Java
- JS陣列專題1️⃣ ➖ 陣列扁平化JS陣列
- php陣列問題PHP陣列
- 陣列練習題陣列
- 也談前端面試常見問題之「陣列亂序」前端面試陣列
- 【谷歌面試題】求陣列中兩個元素的最小距離谷歌面試題陣列
- 從一道題目看二維陣列的地址陣列
- python以16進位制列印位元組陣列Python陣列
- (C語言)使用指標列印陣列的內容C語言指標陣列
- 「前端面試題系列8」陣列去重(10 種濃縮版)前端面試題陣列
- 面試題:給定陣列a,找到最大的j-i, 使a[j]>a[i]面試題陣列
- 程式設計師面試題精選(03)-求子陣列的最大和程式設計師面試題陣列
- 在puber上看到的幾道面試題列舉如下:面試題
- js 從目標陣列中過濾掉 一個陣列元素,JS陣列
- PHP專題-PHP陣列PHP陣列