7.4 树遍历:level2 & Zigzag & *recover* B & sameT & symmeT

to do

XOR condition: if(!A != !B), ! is for boolean conversion, and careful of complier optimization, maybe

2] Binary Tree Zigzag Level Order Traversal

写的太慢了,mark重写

    vector<vector<int>> zigzagLevelOrder(TreeNode* root) {
        if (!root) return vector<vector<int>> {};
        vector<vector<int>> ret = {};
        vector<int> curr={};
        TreeNode dummy (-1);
        queue<TreeNode*> nodeQ;
        nodeQ.push(root);
        nodeQ.push(&dummy);
        
        bool reversed = false;
        while (!nodeQ.empty()) {
            TreeNode* n = nodeQ.front();
            nodeQ.pop();
            
            if (n==&dummy) {
                if (reversed) 
                    reverse(curr.begin(), curr.end());
                ret.push_back(curr);
                
                if (nodeQ.empty()) break;
                nodeQ.push(n);
                curr.clear();
                reversed = !reversed;
            } else {
                curr.push_back(n->val);
                if (n->left) nodeQ.push(n->left);
                if (n->right) nodeQ.push(n->right);
            }
        }
        return ret;
        
    }

4] same tree: easy

5] symmetric Tree, forward recursion is slow

    bool isSymmetric(TreeNode* root) {
        if (!root) return true;
        stack<TreeNode*> stk;
        stk.push(root->left);
        stk.push(root->right);
        
        while (!stk.empty()) {
            TreeNode* nr = stk.top();
            stk.pop();
            TreeNode* nl = stk.top();
            stk.pop();
            
            if (!nr != !nl) return false;
            if (nr) {
                if (nr->val != nl->val) return false;
                stk.push(nl->left);
                stk.push(nr->right);
                stk.push(nl->right);
                stk.push(nr->left);
            }
        }
        
        return true;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,932评论 0 33
  • 十一月以来,天气一直好的出奇。然而却总是缺少一个让我们从室内走出室外的理由,大多数人依旧是教室食堂宿舍三点一线,或...
    肉肉丸子啊阅读 275评论 0 0
  • 我家养了好多只母鸡。母鸡全身都是黄色的,身上长满了羽毛。一颗小小的脑袋,一个红色的小鸡冠,一双大大的眼睛,...
    何浩锦阅读 643评论 0 1
  • 在我的git,:) -_-||
    aiguang2016阅读 884评论 0 0
  • 花了一个半月才读完这本全球现象级畅销书,可能是不够那么吸引我,或者又是懒病犯了。 谁会知道未来将会怎么...
    晴天先生阅读 369评论 0 1

友情链接更多精彩内容