zoukankan      html  css  js  c++  java
  • [LeetCode]515 Find Largest Value in Each Tree Row(dfs)

    题目链接:https://leetcode.com/problems/find-largest-value-in-each-tree-row/?tab=Description

    题意:找每层的最大值。

    直接dfs扔map里

     1 class Solution {
     2 public:
     3     int sz;
     4     map<int, int> ret;
     5     void dfs(TreeNode* p, int d) {
     6         sz = max(sz, d);
     7         if(ret.find(d) == ret.end()) ret[d] = p->val;
     8         else ret[d] = max(ret[d], p->val);
     9         if(p->left) dfs(p->left, d+1);
    10         if(p->right) dfs(p->right, d+1);
    11     }
    12     vector<int> largestValues(TreeNode* root) {
    13         ret.clear();
    14         sz = -1;
    15         if(root == NULL) return vector<int>();
    16         dfs(root, 0);
    17         vector<int> v;
    18         for(int i = 0; i <= sz; i++) v.push_back(ret[i]);
    19         return v;
    20     }
    21 };
  • 相关阅读:
    Wedding(2-SAT)
    JSOI2010 满汉全席
    2-SAT问题
    Tarjan求桥
    遥远的国度
    NOIP2014 联合权值
    部落冲突
    仓鼠找sugar
    2018.09.09 DL24 Day2总结
    php一些易犯的错误
  • 原文地址:https://www.cnblogs.com/kirai/p/6531164.html
Copyright © 2011-2022 走看看