二叉树的路径和
来源:互联网 发布:上海银行淘宝金卡图片 编辑:程序博客网 时间:2024/06/05 18:19
问题描述:
给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值
的路径。
一个有效的路径,指的是从根节点到叶节点的路径。
解题思路:对每条路径进行加和,与给定的值比较,若相等,加到向量中。
代码:
/**
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/
class Solution {
public:
/**
* @param root the root of binary tree
* @param target an integer
* @return all valid paths
*/
vector<vector<int>> binaryTreePathSum(TreeNode *root, int target) {
vector<vector<int> >paths;
vector<int>path;
vector<int>::iterator it;
if(root==NULL){
return paths;
}
else {
def(root,paths,path,target);
return paths;
}
}
void def(TreeNode*root,vector<vector<int> >&ps,vector<int>p,int target){
p.push_back(root->val);
vector<int>::iterator itp;
if(root->left==NULL&&root->right==NULL){
int flag=0;
for(itp=p.begin();itp!=p.end();itp++){
flag+=*itp;
}
if(flag==target){
ps.push_back(p);
}
}
if(root->left!=NULL){
def(root->left,ps,p,target);
}
if(root->right!=NULL){
def(root->right,ps,p,target);
}
// Write your code here
}
};
感想:
注意思路
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 二叉树的路径和
- 51Nod-1296-有限制的排列
- Centos 7防火墙firewall开放80端口
- Java语法基础
- 惊喜!网易自媒体一星开通收益!
- 怎么实现同一用户,异地登录时候被踢下来
- 二叉树的路径和
- thinkphp5 整合plupload实现图片批量上传
- 前端小白Day6-仿照百度制作登录界面
- com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileExcep
- 直播推流基础知识笔记
- Opencv中sort函数
- ssh-hibernate中分页的展示
- mysql压力测试工具tpcc-mysql安装测试使用
- 扫描识别控件Dynamic Web TWAIN v12.3.1发布,更新服务证书