遇到的问题,(不知道为什么)
- 字符串列表—to—字符串数组
需要加大小;
(String[])(curpre1.toArray(new String[curpre1.size()]));
- 字符串数组部分转列表
大小不可变
List<String> curin2 = asList(copyOfRange(str2,i+1,str2.length));
remeber
List的大小用size();
char[] 的大小是length();
string的大小是length();
遍历问题
- 通过前序和中序的信息来获得
1)原二叉树
2)后序遍历
可以通过递归来处理:
首先找到根节点,然后通过根节点将二叉树分为左子树与右子树,然后再根据二叉树遍历的规则来往数组中添加节点或者连接。
例1:
给定一个二叉树的前序遍历和中序遍历的序列,输出对应这个二叉树的后续遍历序列。
输入
ABDEC DBEAC
输出
DEBCA
import java.util.*;
import static java.util.Arrays.*;
public class Main{
public static void main(String[] agrs){
Scanner in = new Scanner(System.in);
String str1 = in.next();
String str2 = in.next();
char[] char1 = str1.toCharArray();
char[] char2 = str2.toCharArray();
System.out.println(Main.findback(char1,char2));
}
public static String findback(char []str1, char []str2){
StringBuffer root = new StringBuffer();
for(int i = 0 ; i < str2.length; i++){
if(str2[i]==str1[0]){
root.append(findback(copyOfRange(str1, 1, i+1),copyOfRange(str2, 0, i)));
root.append(findback(copyOfRange