N叉树的层序遍历
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
/*
// Definition for a Node.
class Node {
public:
int val;
vector<Node*> children;
Node() {}
Node(int _val, vector<Node*> _children) {
val = _val;
children = _children;
}
};
*/
class Solution {
public:
vector<vector<int>> levelOrder(Node* root) {
if(root == nullptr) return {};
int cnt;
queue<Node *>queue;
vector<int> tmp;
vector<vector<int>> res;
queue.push(root);
while(!queue.empty())
{
cnt = queue.size();
for(int i=0; i<cnt; i++)
{
tmp.push_back(queue.front()->val);
for(auto &child: queue.front()->children)
queue.push(child);
queue.pop();
}
res.push_back(tmp);
tmp.clear();
}
return res;
}
};
执行用时 : 412 ms, 在N-ary Tree Level Order Traversal的C++提交中击败了0.44% 的用户
内存消耗 : 33.8 MB, 在N-ary Tree Level Order Traversal的C++提交中击败了0.89% 的用户
定义对列,每次将一排孩子节点存入,计数
字符串中的单词数
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。