博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
输入两个递增链表,合并为一个递增链表(面试题)
阅读量:3730 次
发布时间:2019-05-22

本文共 1630 字,大约阅读时间需要 5 分钟。

输入两个递增链表,合并为一个递增链表。

public class LinkedTest {
public static void main(String[] args) { Node headNode1 = null; Node headNode2 = null; Node currNode1 = null; Node currNode2 = null; // 构造有序链表1 有序链表2 for (int i = 10; i >= 0; i--) { if (i % 2 == 0) { currNode1 = new Node(headNode1, i); headNode1 = currNode1; } else { currNode2 = new Node(headNode2, i); headNode2 = currNode2; } } System.out.print("有序链表1 -- "); print(headNode1); System.out.print("有序链表2 -- "); print(headNode2); System.out.print("合并有序链表 -- "); print(merage(headNode1, headNode2)); } // 将两个有序链表合为一个有序链表,使用递归的过程 public static Node merage(Node n1, Node n2) { if (n1 == null) { return n2; } if (n2 == null) { return n1; } Node resNode = null; if (n1.data > n2.data) { resNode = n2; resNode.next = merage(n1, n2.next); } else { resNode = n1; resNode.next = merage(n1.next, n2); } return resNode; } // 打印输出链表 public static void print(Node n) { if (n == null) { System.out.println("链表为空"); return; } for (Node node = n; node != null; node = node.next) { System.out.print(node.data + " "); } System.out.println(); }}class Node { Node next; int data; public Node(Node next, int data) { super(); this.next = next; this.data = data; }}

转载地址:http://uwkin.baihongyu.com/

你可能感兴趣的文章
ImageDataGenerator读取的数据集转Numpy array
查看>>
Python查看函数源码
查看>>
保存Shap生成的神经网络解释图(shap.image_plot)
查看>>
iOS底层代码探索003-类的底层探索
查看>>
iOS底层代码探索003-类的底层探索后续
查看>>
关于Java中JVM,JRE,JDK之间的关系
查看>>
数据类型
查看>>
使用 IDEA编辑器 创建 serlvet 项目的完整流程
查看>>
汇编 输入输出指令
查看>>
汇编语言 外部中断
查看>>
汇编语言 判断学生成绩是否及格
查看>>
汇编语言 ORG伪指令
查看>>
Xshell 连接 Ubuntu
查看>>
智能指针学习笔记
查看>>
MySQL8.0.19 Windows10安装
查看>>
Centos7 Docker安装
查看>>
SpringBoot2.x整合MyBatis
查看>>
Linux安装JDK1.8
查看>>
Redis常用基础指令
查看>>
MySQL使用insert语句时查询最大值作为ID插入!
查看>>