剑指offer c++

剑指offer c++,第1张

概述本文章向大家介绍剑指offer c++,主要包括剑指offer c++使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

3.从你头到尾打印链表

/**

* struct ListNode {

* int val;

* struct ListNode *next;

* ListNode(int x) :

* val(x),next(NulL) {

* }

* };

*/

class Solution {

public:

vector printListFromTailTohead(ListNode* head) {

vector v1;

vector v2;

if(!head) return v2;

while(head){

v1.push_back(head->val);

head = head->next;

}

for(vector::iterator iter=v1.end()-1;iter!=v1.begin()-1;iter--){

v2.push_back(*iter);

}

return v2;

}

};

重建二叉树:


/**

* DeFinition for binary tree

* struct TreeNode {

* int val;

* TreeNode *left;

* TreeNode *right;

* TreeNode(int x) : val(x),left(NulL),right(NulL) {}

* };

*/

class Solution {

public:

TreeNode* reConstructBinaryTree(vector pre,vector vin) {

if(pre.size()==0) return NulL;

TreeNode* t=new TreeNode(pre[0]);

int index = -1;

for(int i=0;i

if(vin[i]==pre[0])

index = i;

}

vector v1(pre.begin()+(index?1:0),pre.begin()+(index?index+1:index));

vector v2(vin.begin(),vin.begin()+index);

vector v3(pre.begin()+index+1,pre.end());

vector v4(vin.begin()+index+1,vin.end());

t->left = reConstructBinaryTree(v1,v2);

t->right = reConstructBinaryTree(v3,v4);

return t;

}

};

总结

以上是内存溢出为你收集整理的剑指offer c++全部内容,希望文章能够帮你解决剑指offer c++所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1264416.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存