关于测试平台输出:“你的输出为: java.lang.ArrayIndexOutOfBoundsException: 15”
2017-08-08 17:19
477 查看
今天是比较搞笑,做了一个二叉树序列化与反序列化的题目。编译了半天不通过,始终报java.lang.ArrayIndexOutOfBoundsException,也找不问题所在。最后直接对着牛客网网友编译通过的代码敲了一遍,后来发现问题所在。
原代码:
编译结果:
编译通过代码:
Solution类作为一个内部类加载的,而不是唯一主类的那个Solution类。
原代码:
public class Solution { public static int index=-1; String Serialize(TreeNode root) { StringBuilder sr=new StringBuilder(); if(root==null) { sr.append("#,"); return sr.toString(); } sr.append(root.val+","); sr.append(Serialize(root.left)); sr.append(Serialize(root.right)); return sr.toString(); } TreeNode Deserialize(String str) { index++; int length=str.length(); if(index>=length) return null; String string[]=str.split(","); TreeNode node=null; if(!string[index].equals("#")){ node=new TreeNode(Integer.parseInt(string[index])); node.left=Deserialize(str); node.right=Deserialize(str); } return node; } }
编译结果:
编译通过代码:
public class Solution { int index=-1; String Serialize(TreeNode root) { StringBuilder sr=new StringBuilder(); if(root==null) { sr.append("#,"); return sr.toString(); } sr.append(root.val+","); sr.append(Serialize(root.left)); sr.append(Serialize(root.right)); return sr.toString(); } TreeNode Deserialize(String str) { index++; int length=str.length(); if(index>=length) return null; String string[]=str.split(","); TreeNode node=null; if(!string[index].equals("#")){ node=new TreeNode(Integer.parseInt(string[index])); node.left=Deserialize(str); node.right=Deserialize(str); } return node; } }两处代码仅仅区别在于一个index的定义,一个是static类型,一个是非静态类型。个人猜想牛客网的判分平台可能将
Solution类作为一个内部类加载的,而不是唯一主类的那个Solution类。
相关文章推荐
- 在Eclipse中测试Main函数运行出现Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0
- [笔记]关于split的数组越界问题以及java.lang.ArrayIndexOutOfBoundsException异常
- hadoop报错: java.lang.ArrayIndexOutOfBoundsException
- java.lang.ArrayIndexOutOfBoundsException
- SessionFactoryImpl.get错误:java.lang.ArrayIndexOutOfBoundsException: -68问题
- java.lang.ArrayIndexOutOfBoundsException异常分析及解决
- Proguard 4.x error - java.lang.ArrayIndexOutOfBoundsException
- 合并图片 java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
- jxl导出excel异常:java.lang.ArrayIndexOutOfBoundsException: 31
- Unhandled exception occurred whilst decorating page java.lang.ArrayIndexOutOfBoundsException: -1
- java java.lang.ArrayIndexOutOfBoundsException: 1
- [经验小结]jxl写excel时产生“java.lang.ArrayIndexOutOfBoundsException: 5”问题的解决办法
- java.lang.ArrayIndexOutOfBoundsException
- java.lang.ArrayIndexOutOfBoundsException
- Tomcat 或JBOSS java.lang.ArrayIndexOutOfBoundsException: 8192原因及其解决方法
- 如何解决在快速向jtable添加数据的时候报AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException:异常
- jxl 错误 java.lang.ArrayIndexOutOfBoundsException: 441
- java.lang.ArrayIndexOutOfBoundsException异常分析及解决
- java.lang.ArrayIndexOutOfBoundsException: 0错误
- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0