Binary Tree Maximum Path Sum

來源:互聯網
上載者:User

標籤:

class Solution {public:    int maxPathSum(TreeNode *root) {        if(root == NULL) return 0;        int max_sum = INT_MIN;        unordered_map<TreeNode *, int> node_order;        unordered_map<TreeNode *, TreeNode *> parent;        map<pair<TreeNode *, TreeNode *>, int> distance;        stack<TreeNode *> S;        S.push(root);        parent[root] = NULL;        int seq = 0;                while(!S.empty()){            TreeNode * p = S.top();            S.pop();            seq++;            node_order[p] = seq;            for(auto i = node_order.begin(); i != node_order.end(); i++){               if(i->first == p)                    distance.insert(make_pair(make_pair(p,p),p->val));               else{                   TreeNode * pra = parent[p];                   if(pra != NULL){                       int tmp;                       if(node_order[pra] <= node_order[i->first]){                           tmp = distance[make_pair(pra,i->first)] + p->val;                       }else{                           tmp = distance[make_pair(i->first,pra)] + p->val;                       }                       distance.insert(make_pair(make_pair(i->first,p),tmp));                       if(tmp > max_sum) max_sum = tmp;                   }               }            }                        if(p->right){                S.push(p->right);                parent[p->right] = p;            }            if(p->left){                S.push(p->left);                parent[p->left] = p;            }        }                return max_sum;    }}

Binary Tree Maximum 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.