class Solution {
public:
vector
<string
> binaryTreePaths(TreeNode
* root
) {
vector
<string
> paths
;
if (root
== nullptr) {
return paths
;
}
queue
<TreeNode
*> node_queue
;
queue
<string
> path_queue
;
while (!node_queue
.empty()) {
TreeNode
* node
= node_queue
.front();
string path
= path_queue
.front();
node_queue
.pop();
path_queue
.pop();
if (node
->left
== nullptr && node
->right
== nullptr) {
paths
.push_back(path
);
}
else {
if (node
->left
!= nullptr) {
node_queue
.push(node
->left
);
path_queue
.push(path
+ "->" + to_string(node
->left
->val
));
}
if (node
->right
!= nullptr) {
node_queue
.push(node
->right
);
path_queue
.push(path
+ "->" + tostring(node
->right
->val
));
}
}
}
return paths
;
}
};
转载请注明原文地址:https://tech.qufami.com/read-22014.html