美文网首页
涉及C++ STL容器的强制类型转换

涉及C++ STL容器的强制类型转换

作者: 希望是水户洋平 | 来源:发表于2020-12-28 23:51 被阅读0次

用C++做leetcode的时候偶有出现函数返回类型需要从deque转到vector的情况,之前不熟悉相关语法,故做个记录备忘。
注意看倒数第56行代码的强制类型转换细节,用的是花括号!

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */

#include <iostream>
#include <deque>
#include <algorithm>
using namespace std;

class Solution {
public:
    vector<vector<int> > zigzagLevelOrder(TreeNode* root) {

        vector<vector<int> > ans;

        if (root == nullptr ) return ans;

        deque<TreeNode*> deq;

        int round = 0;

        deq.push_back(root);

        while (!deq.empty() ) {

            deque<int> tempDeque;

            int size = deq.size();

            for (int i = 0; i < size; ++i) {

                TreeNode* tempNode = deq.front();

                deq.pop_front();

                if (round % 2 == 0)
                    tempDeque.push_back(tempNode->val);
                else
                    tempDeque.push_front(tempNode->val); //关键代码!!

                if (tempNode->left != nullptr) deq.push_back(tempNode->left);

                if (tempNode->right != nullptr) deq.push_back(tempNode->right);

            }

            ++round;

            //强制类型转换
            ans.push_back(vector<int>{tempDeque.begin(), tempDeque.end() } );

        }


        return ans;
        
    }
};



相关文章

  • 涉及C++ STL容器的强制类型转换

    用C++做leetcode的时候偶有出现函数返回类型需要从deque转到vector的情况,之前不熟悉相关语法,故...

  • (六)C++中的类型转换、IO流与STL标准模板库

    C++中的类型转换与STL标准模板库 一、C++类型转换 在C++中类型转换包含 static_cast、cons...

  • [C++] STL 容器

    参考:[C++] STL 容器 (一) - 基本介紹[C++] STL 容器 (二) - Iterator 部分示例:

  • C++类型转换

    一、C风格的强制类型转换 eg: 二、C++风格的强制类型转换 const_cast ,static_cast ,...

  • C++类型转换

    C++类型转换 C++为了规范C中的类型转换,加强类型转换的可视性,引入了四种强制类型转换操作符:static_c...

  • C++ Vector用法

    vector 是向量类型,它可以容纳许多类型的数据,称其为容器。vector 是C++ STL的一个重要容器,使用...

  • C++中的类型转换

    C++中的类型转换 显示转换 命名的强制类型转换 static_cast dynamic_cast const_c...

  • static_cast、dynamic_cast、reinter

    C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: C++风格的类型转换提供了4种类型转...

  • STL | vector的使用(续)

    写在前面: 很久之前写过关于C++ STL中vector容器的基本用法,最近涉及到了vector容器元素的删除,发...

  • 第三章 JavaScript中的数据间类型的转换

    数据的类型转换分为强制类型转换和非强制类型转换,强制类型转换也可以称为显示转换,非强制类型转换也可以称为隐式转换。...

网友评论

      本文标题:涉及C++ STL容器的强制类型转换

      本文链接:https://www.haomeiwen.com/subject/aamxoktx.html