首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将链接列表list_1的第一个元素添加为链接列表list_2的最后一个元素,并从list_1中删除它。

将链接列表list_1的第一个元素添加为链接列表list_2的最后一个元素,并从list_1中删除它。
EN

Stack Overflow用户
提问于 2018-11-14 14:38:37
回答 3查看 188关注 0票数 0

例如,如果list_2 = {5, 6, 7, 8}list_1 = {9, 10, 11, 12},那么:Addtolist2(list_2, list_1)将更改list_2 to {5, 6, 7, 8, 9}并将list_1更改为{10, 11, 12}。请注意,不应在此方法中创建新列表。

代码语言:javascript
运行
复制
public class ListNode {
    int data;
    ListNode next;
}

public class List {
     ListNode header;
}

这是我试过的:

代码语言:javascript
运行
复制
public static void Addtolist2(list_2, List_1) {
    ListNode p = l2.header.next;

    while(p != null) {
        p = p.next;
    }

    p = l1.header.next;
    ListNode q = l1.header.next;

    if (l1.header.next.next != null) {
        q = l1.header.next.next;
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-14 16:02:20

也许尝试一下这样的方法(你可能需要改变一些东西)

代码语言:javascript
运行
复制
public static void Addtolist2(List list2, List list1) {
    // Find last node in list2
    ListNode lastEl = list2.header;
    while(lastEl != null) {
        lastEl = lastEl.next;
    }

    // Take the first element of list1
    ListNode firstEl = list1.header;

    // Add new element to list2 in last
    ListNode newEl = new ListNode();
    newEl.data = firstEl.data;
    lastEl = newEl;

    // Remove first element of list1 (replace with second)
    list1.header = firstEl.next;
}
票数 0
EN

Stack Overflow用户

发布于 2018-11-14 14:48:00

代码语言:javascript
运行
复制
List<Integer> lst1 = new ArrayList<>(Arrays.asList(5, 6, 7, 8));
List<Integer> lst2 = new ArrayList<>(Arrays.asList(9, 10, 11, 12));
System.out.println("lst1 = " + lst1 + " lst2 = " + lst2);
Integer moved = lst2.get(0);
lst2.remove(0);
lst1.add(moved);
System.out.println("lst1 = " + lst1 + " lst2 = " + lst2);
票数 0
EN

Stack Overflow用户

发布于 2018-11-14 14:55:12

代码语言:javascript
运行
复制
public class MainClass
{
public static void main(String[] args)
{
    LinkedList<Integer> list1 = new LinkedList<Integer>();
    list1.add(5);
    list1.add(6);
    list1.add(7);
    list1.add(8);

    LinkedList<Integer> list2 = new LinkedList<Integer>();
    list2.add(9);
    list2.add(10);
    list2.add(11);
    list2.add(12);

    Integer element = list2.getFirst();
    list1.addLast(element);
    list2.removeFirst();

    System.out.println("First List:");
    System.out.print(list1);

    System.out.println();
    System.out.println("Second List: ");
    System.out.print(list2);
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53302707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档