lintcode 126 堆栈用法

图片.png
  • 思路 以及算法过程:


    图片.png
  • code:
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<unordered_map>
#include<queue>
#include<stack>
#include<string>
#include <set>
#include <unordered_set>
#include <map>
//* Definition for a binary tree node.
struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
//Definition for singly-linked list.
struct ListNode {
     int val;
     ListNode *next;
     ListNode(int x) : val(x), next(NULL) {}
 }


//my
class Solution {
public:
    vector<TreeNode *> stk;
    TreeNode* maxTree(vector<int> A) {
        vector<TreeNode*> tempM;
        if (A.empty())
            return {};
        for (auto aa : A) {
            TreeNode* tar = new TreeNode(aa);
            while (tempM.size() > 0&& aa>tempM[tempM.size() -1]->val) {
                tar->left = tempM[tempM.size() - 1];
                tempM.pop_back();
            }
            if (tempM.size() != 0) {
                tempM[tempM.size() - 1]->right = tar;
            }
            tempM.push_back(tar);
        }
        return tempM[0];
    }
};

int main()
{
    vector<int> aa = { 2, 5, 6, 0, 3, 1 };
    Solution ss;
    auto ans =ss.maxTree(aa);
    //vector<vector<int>> ans(23, vector<int>());

    getchar();
    return 0;
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转载自VR设计云课堂[https://www.jianshu.com/u/c7ffdc4b379e]Unity S...
    水月凡阅读 1,211评论 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 29,035评论 1 45
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,361评论 4 61
  • 前端html代码 前端js代码 前端css代码 后端php返回json
    gogocheng阅读 1,887评论 1 1
  • 刚刚下火车到家,妈妈电话“亲爱的明天农历23,祝我亲爱的姑娘生日快乐...最近怎么样?工作?生活?感情?”哎呀,感...
    肉都给我吃阅读 312评论 0 0

友情链接更多精彩内容