中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

leetCode 112. Path Sum 二叉樹問題

發布時間:2020-07-04 06:44:48 來源:網絡 閱讀:510 作者:313119992 欄目:編程語言

112. Path Sum

Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.

For example:
Given the below binary tree and sum = 22,

              5
             / \
            4   8
           /   / \
          11  13  4
         /  \      \
        7    2      1

return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.


思路:

使用遞歸先序遍歷。

代碼如下:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool hasPathSum(TreeNode* root, int sum) {
        if(NULL == root)
            return false;
        return DFS(root,0,sum);
    }
    
    bool DFS(TreeNode * root,int curTotal,int sum)
    {
        if(NULL == root)
            return false;
        curTotal += root->val;
        if( !root->left && !root->right && (curTotal == sum))
            return true;
        else
            return DFS(root->left,curTotal,sum) || DFS(root->right,curTotal,sum);
    }
};


其他做法:

bool hasPathSum(TreeNode *root, int sum) {
    if (root == NULL)
        return false;
    else if (root->left == NULL && root->right == NULL && root->val == sum)
        return true;
    else {
        return hasPathSum(root->left, sum-root->val) || hasPathSum(root->right, sum - root->val);
    }
}

參考自:http://blog.csdn.net/booirror/article/details/42680111

2016-08-07 13:17:42

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴塘县| 江川县| 庆元县| 浦江县| 北辰区| 马尔康县| 南漳县| 朝阳县| 章丘市| 东乡| 浦城县| 关岭| 盐城市| 台南县| 图片| 孝义市| 蓬溪县| 建湖县| 襄城县| 三江| 集贤县| 荔浦县| 政和县| 资讯| 休宁县| 淳化县| 府谷县| 新田县| 鄂托克前旗| 东莞市| 仁怀市| 木里| 育儿| 芦山县| 白水县| 安仁县| 綦江县| 灵武市| 高淳县| 揭阳市| 溧阳市|