多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > 【一天一道LeetCode】#103. Binary Tree Zigzag Level Order Traversal

【一天一道LeetCode】#103. Binary Tree Zigzag Level Order Traversal

來源:程序員人生   發(fā)布時(shí)間:2016-07-01 15:21:42 閱讀次數(shù):2437次

1天1道LeetCode

本系列文章已全部上傳至我的github,地址:ZeeCoder‘s Github
歡迎大家關(guān)注我的新浪微博,我的新浪微博
歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明出處

(1)題目

來源: https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/

Given a binary tree, return the zigzag level order traversal of its nodes’ values. (ie, from left to right, then right to left for >the next level and alternate between).

For example:
Given binary tree [3,9,20,null,null,15,7],

3
/ \
9 20
/ \
15 7
return its zigzag level order traversal as:

[
[3],
[20,9],
[15,7]
]

(2)解題

題目大意:給定1個(gè)2叉樹,按層序遍歷輸出,層數(shù)從1開始,奇數(shù)層從左往右輸出,偶數(shù)層從右往左輸出。
解題思路:上1題【1天1道LeetCode】#102. Binary Tree Level Order Traversal采取queue的數(shù)據(jù)結(jié)構(gòu)來層序輸出,每層都是按從左往右的順序輸出,所以,這1題可以采取deque的數(shù)據(jù)結(jié)構(gòu),根據(jù)奇數(shù)和偶數(shù)層來判斷輸出順序。
詳細(xì)解釋見代碼:

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { vector<vector<int>> ret; if(root==NULL) return ret; deque<TreeNode*> deq;//用來寄存每層的節(jié)點(diǎn) deq.push_back(root);//將根節(jié)點(diǎn)放入queue等待處理 int n = 1;//記錄層數(shù) while(!deq.empty()) { vector<int> tempnode; deque<TreeNode*> temp;//寄存下1層的節(jié)點(diǎn) while(!deq.empty()){ if(n%2==1)//奇數(shù)層 { TreeNode* tn = deq.front();//從頭開始取節(jié)點(diǎn) tempnode.push_back(tn->val); deq.pop_front(); if(tn->left!=NULL) temp.push_back(tn->left);//從左往右放入節(jié)點(diǎn) if(tn->right!=NULL) temp.push_back(tn->right); } else//偶數(shù)層 { TreeNode* tn = deq.back();//從尾部開始取節(jié)點(diǎn) tempnode.push_back(tn->val); deq.pop_back(); if(tn->right!=NULL) temp.push_front(tn->right);//從右往左放入節(jié)點(diǎn) if(tn->left!=NULL) temp.push_front(tn->left); } } deq = temp; ret.push_back(tempnode); n++;//處理下1層 } return ret; } };
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产精品_国产精品_国产精品 | 一二三四视频观看中文在线看 | 看毛片的网站 | 日韩乱码视频 | 性生生活网站免费 | 国产v国产v片大片线观看网站 | 小说区图片区 | 亚洲精品久久久久午夜三 | 欧美性黑人极品hd | 欧美一级毛片免费高清aa | 中国黄色网址大全 | 国产精品久久久久激情影院 | 黄色一级片生活片 | 亚洲天堂一区二区三区 | 久久精品国产精品亚洲综合 | 伊人久久大香线蕉免费视频 | 国内精品视频在线观看 | 国产第一页福利 | 亚洲精彩视频 | 一级性爱视频 | 色妞在线影院色 | 视频免费观看在线播放高清 | 2020久久精品永久免费 | 亚洲国产成人在线观看 | 五月婷婷亚洲综合 | 欧美精品一区二区在线观看 | 成人亚洲欧美日韩中文字幕 | 国产午夜精品一区二区三区不卡 | 最近中文字幕免费视频 | 国产精品冒白浆免费视频 | 成人影院vs一区二区 | 尤物视频在线观看视频 | 最近中文字幕资源 | 欧美国产精品 | 伊人影院在线播放 | 空姐一级毛片 | 欧美亚洲高清 | 日韩欧美综合在线二区三区 | 国产在线欧美日韩一区二区 | 日本一二三区在线视频 | 黑色丝袜高跟国产在线91 |