Redian新闻
>
操 鄙视 就是不给32g的
avatar
a*e
2
还是开始没想清楚,发现用2个stack要清楚很多,2个vector就搞晕了。
Sigh,贴一个终于通过的明天再看再简化。每次碰到这种开始以为简单又老是写不对的
题就很有挫折感!
vector > zigzagLevelOrder(TreeNode *root) {
vector> ret;
vector levelVals;

stack curLevel;
stack nextLevel;
if (root==NULL)
return ret;

TreeNode *r = root;
curLevel.push(r);
bool l2r = true;

while(!curLevel.empty())
{
if (!l2r)
{
while(!curLevel.empty())
{

TreeNode *tmp = curLevel.top();
levelVals.push_back(tmp->val);
if (tmp->left!=NULL)
nextLevel.push(tmp->left);
if (tmp->right!=NULL)
nextLevel.push(tmp->right);
curLevel.pop();
}
l2r=true;
}
else
{
while(!curLevel.empty())
{
TreeNode *tmp = curLevel.top();
levelVals.push_back(tmp->val);
if (tmp->right!=NULL)
nextLevel.push(tmp->right);

if (tmp->left!=NULL)
nextLevel.push(tmp->left);
curLevel.pop();
}
l2r=false;
}
reverse(levelVals.begin(),levelVals.end());
ret.push_back(levelVals);
swap(curLevel, nextLevel);
levelVals.clear();
}
return ret;
}
avatar
m*0
3
『南昌』用您一颗红色的心,来拯救一个白色生命!
http://bbs.city.tianya.cn/tianyacity/content/319/1/37309.shtml
今视新闻报导
http://news.jxgdw.com/jxsh/1488533.html
南昌晚报 2010年1月13号 也有报导
地址是:江西省南昌市肿瘤医院住院部内一科三楼60床
联系方式是:15279846831 彭林昇
银行账号:6043 5300 3200 1965 63
彭光明 邮政储蓄银行 江西省吉安市吉安县北源乡北源村委会墨溪村
2010年12月30日下午在老师大。看到了一为中年妇女在路边。好奇就上去问了问。
阿姨说她是吉安市吉安县北源乡墨溪村人。
她的儿子16岁今年五月查出了得了白血病。到现在已经花了十几万了,已经到了山
穷水尽的地步。
两个月一次化疗,一次两万三,有的时候一次要三万。这对他们种田人来说实在是
太大一笔数目了。
家里能卖的东西都卖了,亲戚朋友的钱都借了一遍。家里的最后一头牛也卖了2000
。前几个月因为没钱治回农村了。最近筹了3000又来了。实在没有办法了只能出来讨。
如果她儿子很平庸就算了不治了,可是她儿子十分优秀,从小就是年级前十,旁边
都是她儿子得的奖状。
即使在医院治疗躺在病床上都一直看书。
我们问她为什么不寻求有关部门的帮助,她说许多大学生带她去了有关部门登记,
也去过新闻媒体,但是别人说这种事实在是太多了,轮也轮不到他们。他们农村人,字
都不认识。实在没有办法。只能每天跪在路边乞讨。
我们联系了很多很多报社电视台,得到的回复是:好忙,而且这类事情太多了,不
太可能派记者过来采访。
阿姨一直跪着求我们要帮忙,我们又拨打了在江西省内很有名气的某栏目。还是一
样的答复,这种事情太多了。
阿姨还是一直哭着求大家帮忙。
去了肿瘤医院,看了她的儿子,因为在化疗期,所以他左脸面瘫,不能和我们进行
交流,但是他的枕头边上都摆了书。
虽然我们力量微薄,但是决定不管结果如何,一定要尽力帮他们一家。
一月一号在八一公园那边做了募捐活动,一天下来,有人冷漠有人嘲讽说我们是骗
子,有人也捐款也签名送祝福。筹到了2700左右
能做的只有这么多了,虽然换骨髓要六十万,2700只是杯水车薪。
但是我们努力了,至少给了阿姨一丝希望。这就够了,我们不是有权有势有钱的人
,能做的都做了,至少不会对不起良心。
今天没有碰到好热心的,但是碰到了好冷漠的。
有些人说“骗谁啊,见多了。”有的说“装什么装。”。
我知道这个社会上有很多骗取别人同情心的骗子,可是这是真实的!
好人有好报恶人有恶报。
今天下午我去肿瘤医院看了彭林昇,彭叔叔只有身上一条裤子,而且还破了很多洞
,他们连热水袋都不会用,他们没有御寒的衣物,全身上下都很单薄,阿姨在2号那么
冷的天还在江教门口乞讨,一天才80,阿姨说:不管钱多钱少吗只要能救我儿子的命,
只要能让他继续治,在大的苦我也受的了!
彭林昇还有一个读高中的姐姐,一家四口人,生活该有多不容易
我希望有好心人能够帮他们,哪怕只是十块钱,
我希望有好心人能把家里不需要的衣物捐給他们,让他们在寒冷的冬天感受到温暖
我希望有好心人能去医院看望他们,他们现在不仅仅急需的是钱,还有社会上好心
人给予的温暖,
彭林昇喜欢看郭敬明的书,叔叔需要衣物,阿姨也需要衣物,
他们更需要温暖!
很难想象,阿姨叔叔是用一次性餐盒吃饭的,吃完了这餐洗干净留着下餐继续用,
连吃饭的碗都没有。
我希望有更多的好心人能帮助他们一家!
他的地址是
江西省南昌市肿瘤医院住院部内一科三楼60床
联系电话 15279846831
彭林昇
谢谢大家了。
今天我去看了他们,他爸爸只有一条裤子,还是破了很多洞的,这家人连热水袋
都不会用,我希望大家能把家里不要的御寒衣物捐出来,好人会有好报!
地址是:江西省南昌市肿瘤医院住院部内一科三楼60床
他们的联系方式是:15279846831 彭林昇
银行账号:6043 5300 3200 1965 63
彭光明 邮政储蓄银行 江西省吉安市吉安县北源乡北源村委会墨溪村
avatar
S*s
4
真尼玛不地道 还一堆果轮说够了够了
avatar
h*e
5
bfs 按level 搜索 呢。。我感觉好写一点 最后把结果 隔行 reverse
for(int vecI = 1; vecI < vecVec.size(); vecI += 2)
reverse(vecVec[vecI].begin(), vecVec[vecI].end());
avatar
l*e
6
真果轮才会说16G够了,不光是情怀的问题,还有智商
avatar
h*e
7
你还是按照你的来吧~~ 怎么说也是自己辛苦写的。

【在 a***e 的大作中提到】
: 还是开始没想清楚,发现用2个stack要清楚很多,2个vector就搞晕了。
: Sigh,贴一个终于通过的明天再看再简化。每次碰到这种开始以为简单又老是写不对的
: 题就很有挫折感!
: vector > zigzagLevelOrder(TreeNode *root) {
: vector> ret;
: vector levelVals;
:
: stack curLevel;
: stack nextLevel;
: if (root==NULL)

avatar
l*a
8
有那么麻烦吗?
BFS肯定要写的,然后对于每层做BFS时使用一个vector保存当前层结果
设个flag,
if(flag) vector.add(**);
else vector.add(0,**);
flag=!flag;
是不是就可以了

【在 a***e 的大作中提到】
: 还是开始没想清楚,发现用2个stack要清楚很多,2个vector就搞晕了。
: Sigh,贴一个终于通过的明天再看再简化。每次碰到这种开始以为简单又老是写不对的
: 题就很有挫折感!
: vector > zigzagLevelOrder(TreeNode *root) {
: vector> ret;
: vector levelVals;
:
: stack curLevel;
: stack nextLevel;
: if (root==NULL)

avatar
r*n
9
最近也遇到这个题,学习下~
avatar
j*8
10
+1

【在 l*****a 的大作中提到】
: 有那么麻烦吗?
: BFS肯定要写的,然后对于每层做BFS时使用一个vector保存当前层结果
: 设个flag,
: if(flag) vector.add(**);
: else vector.add(0,**);
: flag=!flag;
: 是不是就可以了

avatar
y*n
11
感觉你老每个题都可以写出5个以上解法。。

【在 l*****a 的大作中提到】
: 有那么麻烦吗?
: BFS肯定要写的,然后对于每层做BFS时使用一个vector保存当前层结果
: 设个flag,
: if(flag) vector.add(**);
: else vector.add(0,**);
: flag=!flag;
: 是不是就可以了

avatar
w*s
12
贴一个相对简洁点的:
void push(vector& q, TreeNode* node) {
if (node)
q.push_back(node);
}
vector > zigzagLevelOrder(TreeNode *root) {
vector > results;
vector queue[2];
int q = 0;
push(queue[0], root);
while (!queue[q].empty()) {
results.push_back(vector());
for (int i = queue[q].size() - 1; i >= 0; --i) {
TreeNode*& node = queue[q][i];
results.back().push_back(node->val);
push(queue[q ^ 1], q ? node->right : node->left);
push(queue[q ^ 1], q ? node->left : node->right);
}
queue[q].clear();
q ^= 1;
}
return results;
}

【在 a***e 的大作中提到】
: 还是开始没想清楚,发现用2个stack要清楚很多,2个vector就搞晕了。
: Sigh,贴一个终于通过的明天再看再简化。每次碰到这种开始以为简单又老是写不对的
: 题就很有挫折感!
: vector > zigzagLevelOrder(TreeNode *root) {
: vector> ret;
: vector levelVals;
:
: stack curLevel;
: stack nextLevel;
: if (root==NULL)

avatar
a*e
13
没找到 add 这个method啊,是Push——back么?

【在 l*****a 的大作中提到】
: 有那么麻烦吗?
: BFS肯定要写的,然后对于每层做BFS时使用一个vector保存当前层结果
: 设个flag,
: if(flag) vector.add(**);
: else vector.add(0,**);
: flag=!flag;
: 是不是就可以了

avatar
a*e
14
嗯,多谢,可能我想复杂了。试着这样写一下。

【在 h*******e 的大作中提到】
: bfs 按level 搜索 呢。。我感觉好写一点 最后把结果 隔行 reverse
: for(int vecI = 1; vecI < vecVec.size(); vecI += 2)
: reverse(vecVec[vecI].begin(), vecVec[vecI].end());

avatar
m*a
15
这个估计是java
C++是push_back(value)和insert(iterator,value)

【在 a***e 的大作中提到】
: 没找到 add 这个method啊,是Push——back么?
avatar
a*e
16
我照你说的写了一个,还是比较长,但的确要清楚了很多。请问你能share一个你的么
?多谢!
我感觉如果不是特别熟,再加上现场一紧张或者发晕,很难把这么多行程序在15分钟内
bugfree的写完,汗。
vector > zigzagLevelOrder(TreeNode *root) {
queue nextLevel;
queue curLevel;

TreeNode *r = root;

vector > ret;

if (r==NULL)
return ret;

curLevel.push(r);
bool l2r=true;

while(1)
{
vector tmpV;

while(!curLevel.empty())
{
TreeNode *tmp=curLevel.front();

if (tmp!=NULL)
{
tmpV.push_back(tmp->val);
if (tmp->left)
nextLevel.push(tmp->left);
if (tmp->right)
nextLevel.push(tmp->right);
}

curLevel.pop();
}

if (!l2r)
reverse(tmpV.begin(),tmpV.end());

l2r=!l2r;
ret.push_back(tmpV);

if (nextLevel.empty())
break;
else
{
curLevel.swap(nextLevel);
}
}

return ret;
}

【在 h*******e 的大作中提到】
: bfs 按level 搜索 呢。。我感觉好写一点 最后把结果 隔行 reverse
: for(int vecI = 1; vecI < vecVec.size(); vecI += 2)
: reverse(vecVec[vecI].begin(), vecVec[vecI].end());

avatar
f*w
17

C++的vector吗?这样如果flag是false,insert n个的复杂度就变成n^2了啊
我一般是插好之后reverse

【在 l*****a 的大作中提到】
: 有那么麻烦吗?
: BFS肯定要写的,然后对于每层做BFS时使用一个vector保存当前层结果
: 设个flag,
: if(flag) vector.add(**);
: else vector.add(0,**);
: flag=!flag;
: 是不是就可以了

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。