我试图使用java在二叉树中打印所有根到叶子路径.
public void printAllRootToLeafPaths(Node node,ArrayList path)
{
if(node==null)
{
return;
}
path.add(node.data);
if(node.left==null && node.right==null)
{
System.out.println(path);
return;
}
else
{
printAllRootToLeafPaths(node.left,path);
printAllRootToLeafPaths(node.right,path);
}
}
Run Code Online (Sandbox Code Playgroud)
主要方法:
bst.printAllRootToLeafPaths(root, new ArrayList());
Run Code Online (Sandbox Code Playgroud)
但它给出错误的输出.
给定的树:
5
/ \
/ \
1 8
\ /\
\ / \
3 6 9
Run Code Online (Sandbox Code Playgroud)
预期产量:
[5,1,3]
[5,8,6]
[5,8,9]
但产量产生:
[5,1,3]
[5,1,3,8,6]
[5,1,3,8,6,9]
有人可以搞清楚......
我想提供下载所有文件类型的规定...有没有办法在jsp中下载任何文件格式...
我的代码片段:
String filename = (String) request.getAttribute("fileName");
response.setContentType("APPLICATION/OCTET-STREAM");
String disHeader = "Attachment";
response.setHeader("Content-Disposition", disHeader);
// transfer the file byte-by-byte to the response object
File fileToDownload = new File(filename);
response.setContentLength((int) fileToDownload.length());
FileInputStream fileInputStream = new FileInputStream(fileToDownload);
int i = 0;
while ((i = fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
Run Code Online (Sandbox Code Playgroud)
如果我将setContentType指定为APPLICATION/OCTET-STREAM,则pdf,text,doc文件将被下载....但问题出在图像文件中......
图像文件有什么问题?我想下载所有图像文件类型...
我搜索了类似的问题,但找不到合适的答案...谢谢......
我试图在java中找到二叉树的直径(树中包含最大节点数的任意两个节点之间的路径长度.).
我的代码片段:
public int diametre(Node node, int d)
{
if(node==null)
return 0;
lh=diametre(node.left, d);
rh=diametre(node.right, d);
if(lh+rh+1>d)
d=lh+rh+1;
return findMax(lh, rh)+1;
}
Run Code Online (Sandbox Code Playgroud)
主要方法:
System.out.println( bst.diametre(root,0) );
Run Code Online (Sandbox Code Playgroud)
逻辑:它实际上是后序逻辑.变量'd'指的是子树的直径(在那个迭代中).当发现一些较大的值时,它将被更新.'lh'指的是:左子树的高度.'rh'指的是:右子树的高度.
但它给出错误的输出.
树考虑:
5
/ \
/ \
1 8
\ /\
\ / \
3 6 9
Run Code Online (Sandbox Code Playgroud)
空闲输出:5
但是这段代码给出了3.
有人可以找出问题所在......
例如
query = " select "2017-06-08" as new_colum, "true" as my_flag, "column1", "column2" from "table1" "
Run Code Online (Sandbox Code Playgroud)
上述查询应更改为:
select "2017-06-08" as new_column, "true" as my_flag, [column1], [column2] from [table1]
.(MS SQL格式)
我可以使用像jsql解析器这样的解析器吗?或者还有其他更好的方法吗?