小白蛋挞 2022-04-02 10:18 采纳率: 85%
浏览 34
已结题

反转链表操作,怎末把反转链表之后输出啊?ListNode就是自己定义的一个数据结构吗?


public class Demo11 {

    static class ListNode{
        int val;
        ListNode next;
        ListNode(int x){val=x;}
    }
    public static  ListNode reverse(ListNode head){
        ListNode cur = head;
        ListNode pre = null;
        ListNode tmp;
        while(cur!=null) {
            tmp = cur.next;
            cur.next = pre;
            pre = cur;
            cur = tmp;
        }
        return head;
    }
    static void print(ListNode head){
        while(head!=null){
            System.out.println("节点"+head.val);
            head = head.next;
        }
    }
    public static void main(String[] args) {
      ListNode f1 = new ListNode(1);
      ListNode f2 = new ListNode(2);
      ListNode f3 = new ListNode(3);
      f1.next = f2;
      f2.next = f3;
      reverse(f1);
      print(f1);
    }
}

我以为调用reverse函数后,调用输出函数会输出3,2,1。但是只输出了1。然后我尝试输出f1.next发现
没有输出。

img

  • 写回答

3条回答 默认 最新

  • a1767028198 2022-04-02 11:07
    关注

    img


    img

    img


    cur第一次指向header,设置下一节点为空,header的变化:1-2-3 ---》 1-null
    后续的操作都不是操作head,你直接返回head,可不就是1嘛

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 创建了问题 4月2日

悬赏问题

  • ¥15 速帮,学校需要在外上班没空
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥15 Windows 系统cmd后提示“加载用户设置时遇到错误”
  • ¥50 vue router 动态路由问题
  • ¥15 关于#.net#的问题:End Function
  • ¥15 无法import pycausal
  • ¥15 VS2022创建MVC framework提示:预安装的程序包具有对缺少的注册表值的引用
  • ¥15 weditor无法连接模拟器Local server not started, start with?
  • ¥20 6-3 String类定义