这道题用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的更多相关文章

  1. [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 ...

  2. LeetCode897. 递增顺序查找树

    题目 法一.自己 1 class Solution { 2 public: 3 vector<int>res; 4 TreeNode* increasingBST(TreeNode* ro ...

  3. LeetCode 897. 递增顺序查找树(Increasing Order Search Tree)

    897. 递增顺序查找树 897. Increasing Order Search Tree 题目描述 给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有 ...

随机推荐

  1. SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)

    版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://blog.csdn.net/forezp. http://blog.csdn.net/forezp/art ...

  2. validate参数校验和数据回显

    服务端校验 校验理解 项目中,通常使用较多的是前段的校验,比如在页面中js校验.对于安全要求较高的建议在服务端进行校验. 服务端校验: 控制层controller:校验页面请求的参数的合法性.在服务端 ...

  3. canvas 绘制验证码

    注意: 真正项目中验证码图片都是由服务器端(PHP.JSP.Node.js)技术来生成. 最终效果: 代码: <!DOCTYPE html> <html> <head l ...

  4. Unity3d 相关文档

    Unity3D研究院之处理摄像机跟随避免相机穿墙拉近或透明的方法 http://www.apkbus.com/android-498-1.html

  5. (三十六)类数组对象arguments

    类数组对象:arguments 在函数调用时,我们总能见到arguments这个对象,它具体是用来干什么的呢?感觉逼格非常高呢 函数在使用时,我们总会位函数传入各种参数,arguments会将参数储存 ...

  6. SpringMVC 过滤器Filter使用解析

    SpringMVC框架是一个成熟的优秀java web开发框架,学习研究框架设计有助于我们更好的理解和掌握spring MVC,设计和写出更符合的结构和代码. 本节主要是研读SpringMVC框架中的 ...

  7. Docker从入门到安装MySQL

    Docker 的简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...

  8. 【java反射】Class类型的相关操作演练

    [一]获取范型接口的实现类的范型类型 (1)范型接口 package org.springframework.context; import java.util.EventListener; publ ...

  9. IDEA生成serialVersionUID的警告

    默认情况下Intellij IDEA是关闭了继承了java.io.Serializable的类生成serialVersionUID的警告.如果需要ide提示生成serialVersionUID,那么需 ...

  10. Oracle 13c OEM 安装手册

    1       安装准备工作 以下包已Redhat 为准,其他版的操作系统以官方手册为准. 1.1         Oracle Management Service 依赖如下包 glibc-comm ...