您的位置:首页 > 产品设计 > UI/UE

LeetCode "Binary Tree Longest Consecutive Sequence"

2015-10-28 11:47 477 查看
A simple application to binary tree traversal.

class Solution {
typedef pair<int, unsigned> Rec; // last val - length
unsigned ret;
void go(TreeNode *p, Rec r)
{
if(!p) return;

Rec nr(p->val, 1);
if(r.second && p->val == (r.first + 1))
{
nr = Rec(p->val, r.second + 1);
}
ret = max(ret, nr.second);

go(p->left, nr);
go(p->right, nr);
}
public:
int longestConsecutive(TreeNode* root) {
ret = 0;
go(root, Rec(0, 0));
return ret;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: