LeetCode Path Sum

來源:互聯網
上載者:User

標籤:

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.

 

從Root結點->遍曆到葉子結點 找出sum跟遍曆的總和相同 返回真 or 假

 

Leetcode

/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/bool hasPathSum(TreeNode *root, int sum){return PathSum(root,sum,0);}bool PathSum(TreeNode *root,int sum,int val){if(root==NULL) return false;//如果給出的根節點為空白則返回假   當遞迴到 樹的第三層 4的時候 會觸發FALSEval+=root->val;//不為空白 則將當前遞迴 節點的val 值進行+=操作if(root-left== NULL&&root->right==NULL)//遞迴到葉子結點 { if(sum==val) return true;else false; }return PathSum(root->left,sum,val)||PathSum(root->right,sum,val);//如果當前遞迴到非葉子結點 則繼續遞迴調用 結點的 左 右 兩個孩子結點}

 

廣度 深度 搜尋 的變化 還是多樣的 要多多瞭解這些思想 跟方法

LeetCode Path Sum

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.