day17 二叉树的所有路径

void traversal(TreeNode* cur,

vector<int>& path,

vector<string>& result)

{

path.push_back(cur->val); // 中,中为什么写在这里,因为最后一个节点也要加入到path中

// 这才到了叶子节点

if (cur->left == NULL && cur->right == NULL) {

string sPath;

加入除最后一个元素外的数据

for (int i = 0; i < path.size() - 1; i++) {

sPath += to_string(path[i]);

sPath += "->";

}

加入最后一个元素

sPath += to_string(path[path.size() - 1]);

result.push_back(sPath);

return;

}

if (cur->left) { // 左

traversal(cur->left, path, result);

path.pop_back(); // 回溯

}

if (cur->right) { // 右

traversal(cur->right, path, result);

path.pop_back(); // 回溯

}

}

vector<string> binaryTreePaths(TreeNode* root) {

vector<string> result;

vector<int> path;

if (root == NULL) return result;

traversal(root, path, result);

return result;

}

相关推荐
AI科技星1 小时前
基于空间螺旋运动假设的水星近日点进动理论推导与验证
数据结构·人工智能·经验分享·算法·计算机视觉
L_09071 小时前
【Algorithm】Day-10
c++·算法·leetcode
大大dxy大大2 小时前
sklearn-提取字典特征
人工智能·算法·sklearn
初学小刘2 小时前
U-Net系列算法
算法
Jack电子实验室2 小时前
深入理解C语言函数指针:从基础到实战应用
java·c语言·算法
hashiqimiya3 小时前
c++的头文件使用
开发语言·c++·算法
美狐美颜SDK开放平台3 小时前
直播美颜sdk特效功能架构全解析:从图像处理到AI渲染的技术演进
图像处理·人工智能·算法·架构·1024程序员节·美颜sdk·直播美颜sdk
Swift社区3 小时前
LeetCode 412 - Fizz Buzz
算法·leetcode·职场和发展
小年糕是糕手4 小时前
【C/C++刷题集】二叉树算法题(一)
c语言·数据结构·c++·算法·leetcode·学习方法·改行学it
前端炒粉12 小时前
18.矩阵置零(原地算法)
javascript·线性代数·算法·矩阵