leetcode897
这道题用C++来写,在本地执行正常,但是使用OJ判断输出结果是空,暂时不清楚原因。代码如下:
class Solution {
public:
vector<int> V;
//中序遍历
void MidTree(TreeNode node)
{
if (&node != NULL)
{
if (node.left != NULL)
{
MidTree(*node.left);
}
V.push_back(node.val);
if (node.right != NULL)
{
MidTree(*node.right);
}
}
}
TreeNode Join(TreeNode* t, int ct)
{
if (ct == V.size() - )
{
TreeNode tt = TreeNode(V[ct]);
return tt;
}
TreeNode d = TreeNode(V[ct + ]);
TreeNode* dd = &d;
TreeNode n = Join(dd, ct + );
t->right = &n;
return *t;
}
TreeNode* increasingBST(TreeNode* root) {
MidTree(*root);
TreeNode T = TreeNode(V[]);
TreeNode* TT = &T;
TreeNode x = Join(TT, );
return &x;
}
};
保留原有逻辑,修改为C#代码,则通过所有测试,代码如下:
public class Solution
{
public List<int> V = new List<int>();
//中序遍历
public void MidTree(TreeNode node)
{
if (node != null)
{
if (node.left != null)
{
MidTree(node.left);
}
V.Add(node.val);
if (node.right != null)
{
MidTree(node.right);
}
}
} public TreeNode Join(TreeNode t, int ct)
{
if (ct == V.Count() - )
{
TreeNode tt =new TreeNode(V[ct]);
return tt;
}
TreeNode d = new TreeNode(V[ct + ]);
TreeNode n = Join(d, ct + );
t.right = n;
return t;
}
public TreeNode IncreasingBST(TreeNode root)
{
MidTree(root);
TreeNode T =new TreeNode(V[]);
TreeNode x = Join(T, );
return x;
}
}
不知是leetcode的判断机制问题,还是我的C++写法的问题。之后还是尽量使用C#吧。
leetcode897的更多相关文章
- [Swift]LeetCode897. 递增顺序查找树 | Increasing Order Search Tree
Given a tree, rearrange the tree in in-order so that the leftmost node in the tree is now the root o ...
- LeetCode897. 递增顺序查找树
题目 法一.自己 1 class Solution { 2 public: 3 vector<int>res; 4 TreeNode* increasingBST(TreeNode* ro ...
- LeetCode 897. 递增顺序查找树(Increasing Order Search Tree)
897. 递增顺序查找树 897. Increasing Order Search Tree 题目描述 给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有 ...
随机推荐
- 发现的好东西——bitset
先向各位大佬介绍一个水题 任何一个正整数都可以用2的幂次方表示.例如 137=2^7+2^3+2^0 同时约定方次用括号来表示,即a^b 可表示为a(b). 由此可知,137可表示为: 2(7)+2( ...
- android源码下载以及编译自己的ROM
android源码下载以及编译自己的ROM 最近发现kernel.org被墙了,为什么这种网站也能被墙了? 要想下载源码的话,只能绕过去了.下面是我从网上搜索到的一些下载方法: =========== ...
- 0GDB调试程序进阶
http://www.cnblogs.com/azraelly/archive/2012/12/22/2829256.html 下面只列举我认为重要的 0.反汇编命令disas/disass/disa ...
- 第2章 开始Flex
* Flex开发中可用两种语言 1.MXML 2.ActionScript * Flex中使用两个组件集 1.MX (mx.*) 早期的Flex版本用到的组件集 2.Spark (spark.*) F ...
- 旧书重温:0day2【7】堆溢出实验
相关文章我拍成了照片,放在了我的QQ空间不是做广告(一张一张的传太麻烦了)http://user.qzone.qq.com/252738331/photo/V10U5YUk2v0ol6/ 密码9 ...
- 你必须知道的495个C语言问题,学习体会三
本文是 本系列的第三篇,本文主要对C语言的表达式做个小结 先从两个坑爹的表达式说起:i++ 与++i 上大学的时候,学长告诉我,这两个表达式,意义是一样的,后来老师纠正说,还是有区别的,于是让我们记住 ...
- touch-action属性
CSS属性 touch-action 用于指定某个给定的区域是否允许用户操作,以及如何响应用户操作(比如浏览器自带的划动.缩放等). /* Keyword values */touch-action: ...
- NSArray四种遍历方法
- Tornado服务端基本的配置文件(Python)
web_set = { # -------一般设置-------- 'debug': True, 'port': 8836, 'autoreload': True, 'ui_modules': {}, ...
- Spring读取properties资源文件
我们知道可以通过读取资源文件流后加载到Properties对象,再使用该对象方法来获取资源文件.现在介绍下利用Spring内置对象来读取资源文件. 系统启动时加载资源文件链路:web.xml --&g ...