1、打印下列图形
1
3*24*5*6
10*9*8*7
11*12*13*14*15
21*20*19*18*17*16
class Print
{
public static void main(String[] args)
{
int n=6;
int flag=1;
int num;
for(int i=1;i<=n;i++)
{
if(i%2==0) num=flag+i-1;
else num=flag;
//System.out.println("第"+i+"行的第一个数为"+num);
for(int j=0;j<i;j++)
{
if(i%2==0)
{ System.out.print(num);
num--;
if(num!=flag-1) System.out.print("*");
}
else{
System.out.print(num);
num++;
if(num!=flag+i) System.out.print("*");
}
}
flag+=i;
System.out.println();
//System.out.println("第"+i+"行打印后flag的值为"+flag);
//System.out.println();
}
}
}
2、一棵树的子树包含了T中的一个节点及该节点在T中所有后代。给定两棵二叉查找树,编写算法,判断第二棵二叉查找数,是否是第一棵树的子树
输入:函数方法的输入包含两个参数root1是父树的根节点,root2是另一棵树的根节点。
输出,如果root2是root1的子树,则返回1,否则返回-1.
例如输入
4
26
1357
6
57
返回结果
1
树的结构tnode {value,left,right}
思路:先对树进行遍历,比如中序遍历,遍历时把元素插入到stringBuilder中,转换为字符串,根据contains方法判断父树字符串是否包含子树字符串。