import java.util.LinkedList;
public class test{
//这里应该是把list2的东西加到list1的后面
private static LinkedList append(LinkedList list1, LinkedList list2) {
if (list1 == null){
return list2;
} else{
return add(first(list1), append(rest(list1), list2));
}
}
public static void main(String[] args) {
LinkedList list1 = new LinkedList();
LinkedList list2 = new LinkedList();
list1.add("1"); list1.add("2"); list1.add("3");
list2.add("1"); list2.add("2"); list2.add("3");
printList( append(list1, list2) );
}
//添加value到一个linkedlist的前面如果list是null就新建一个list
private static LinkedList add(String value, LinkedList list) {
if(list == null){
LinkedList newList = new LinkedList();
newList.addFirst(value);
return newList;
} else{
list.addFirst(value);
return list;
}
}
//获取list的第一个值
private static String first(LinkedList list) {
if(list.size() >= 1){
return list.getFirst().toString();
}else{
return null;
}
}
//获取list的所有值但除了第一个
private static LinkedList rest(LinkedList list) {
if(list.size() >= 1){
list.removeFirst();
return list;
}else{
list = null; return list;
}
}
//打印list
private static void printList(LinkedList list) {
System.out.println(list);
}
//如果list是null就返回true 不是就返回null
private static boolean isNull(LinkedList list) {
if(list == null){
return true;
}else{
return false;
}
}
}
这个程序的输出结果是[1, 2, 3, null, 1, 2, 3] 不知道中间为啥加了个null 估计是first method和rest method的问题。。求大神修改。。
public class test{
//这里应该是把list2的东西加到list1的后面
private static LinkedList append(LinkedList list1, LinkedList list2) {
if (list1 == null){
return list2;
} else{
return add(first(list1), append(rest(list1), list2));
}
}
public static void main(String[] args) {
LinkedList list1 = new LinkedList();
LinkedList list2 = new LinkedList();
list1.add("1"); list1.add("2"); list1.add("3");
list2.add("1"); list2.add("2"); list2.add("3");
printList( append(list1, list2) );
}
//添加value到一个linkedlist的前面如果list是null就新建一个list
private static LinkedList add(String value, LinkedList list) {
if(list == null){
LinkedList newList = new LinkedList();
newList.addFirst(value);
return newList;
} else{
list.addFirst(value);
return list;
}
}
//获取list的第一个值
private static String first(LinkedList list) {
if(list.size() >= 1){
return list.getFirst().toString();
}else{
return null;
}
}
//获取list的所有值但除了第一个
private static LinkedList rest(LinkedList list) {
if(list.size() >= 1){
list.removeFirst();
return list;
}else{
list = null; return list;
}
}
//打印list
private static void printList(LinkedList list) {
System.out.println(list);
}
//如果list是null就返回true 不是就返回null
private static boolean isNull(LinkedList list) {
if(list == null){
return true;
}else{
return false;
}
}
}
这个程序的输出结果是[1, 2, 3, null, 1, 2, 3] 不知道中间为啥加了个null 估计是first method和rest method的问题。。求大神修改。。