java实现合并两个已经排序的列表实例代码_java

相对于C++来说,Java的最大特点之一就是没有令人困惑的指针,但是我们不可否认,在某些特定的情境下,指针确实算的上一把利刃。虽然Java中没有明确定义出指针,但是由于类的思想,我们可以使用class来实现指针的操作。小二,上栗子-----合并两个已经排序的列表,输出合并后列表的头结点,且合并后的列表中的元素是有序的。

需要时刻铭记于心的:在Java中,列表的一个节点其实就是某个类实例化的一个对象。

示例代码如下:

复制代码 代码如下:

package DecemberOf2013;

class ListNode{
    int val;
    ListNode next;
    public ListNode(int val) {
        this.val = val;
        this.next = null;
    }
}

public class MergeTowSortedLists {

    public ListNode mergeLists(ListNode l1, ListNode l2){

        ListNode p1 = l1;
        ListNode p2 = l2;

        ListNode fadeHead = new ListNode(0);
        ListNode pHead = fadeHead;

        while(p1 != null && p2 != null){
            if(p1.val <= p2.val){
                pHead.next = p1;
                p1 = p1.next;
            }
            else{
                pHead.next = p2;
                p2 = p2.next;
            }
            pHead = pHead.next;
        }

        if(p1 != null){
            pHead.next = p1;
        }
        else{
            pHead.next = p2;
        }

        return fadeHead.next;
    }
}

时间: 2024-09-19 14:06:23

java实现合并两个已经排序的列表实例代码_java的相关文章

java的Map集合中按value值进行排序输出的实例代码_java

java的Map集合中按value值进行排序输出的实例代码 import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Test { public static void main(String[] args) { Map<String ,Integer> map = new Has

java实现连接mysql数据库单元测试查询数据的实例代码_java

1.按照javaweb项目的要求逐步建立搭建起机构,具体的类包有:model .db.dao.test; 具体的架构详见下图: 2.根据搭建的项目架构新建数据库test和数据库表t_userinfo并且添加对应的测试数据; (这里我使用的是绿色版的数据库,具体的下载地址:http://pan.baidu.com/s/1mg88YAc) 具体的建立数据库操作详见下图: 开发实例"> 3.编写包中的各种类代码,具体参考代码如下: UserInfo.java /** * FileName: Us

java 将byte中的有效长度转换为String的实例代码_java

 一般的我们使用byte接收读取到的数据,若数据没有达到byte定义的大小时,我们直接将byte转换为String则会出现乱码的情况,在这种情况下应该基于read的返回值来转换byte,否则将产生乱码的情况, 下面是一个简单的示例: package com.javaio.myinputstream; public class MyConsole { public static void main(String argv[]) throws Exception { System.out.print

JAVA中使用FTPClient实现文件上传下载实例代码_java

在java程序开发中,ftp用的比较多,经常打交道,比如说向FTP服务器上传文件.下载文件,本文给大家介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件. 一.上传文件 原理就不介绍了,大家直接看代码吧 /** * Description: 向FTP服务器上传文件 * @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保(cuihongbao@d-heaven.com)创建 * @param url F

Java将GeoHash转化为对应的经纬度坐标实例代码_java

本文实例介绍了JAVA实现将GeoHash转化为对应的经纬度坐标的详细代码,分享给大家供大家参考,具体内容如下 package com.lulei.geo; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import com.lulei.geo.bean.LocationBean; import com.lulei.util.JsonUti

java 装饰模式(Decorator Pattern)详解及实例代码_java

装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能. 我们通过下面的实例来演示装饰器模式的使用.其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类. 实现 我们将创建一个 Shape 接口和实现了 Shape 接口的实体类.然后我们创建一个实现了 Shape 接口的抽象装饰类Sha

wav合并-java 怎么合并两个wav的音频文件,实现混音效果

问题描述 java 怎么合并两个wav的音频文件,实现混音效果 现在想搞一下,把两个wav文件合并成一个实现混音效果,哪位了解怎么实现啊? 解决方案 http://pan.baidu.com/s/1c0nuR6K 解决方案二: http://pan.baidu.com/s/1c0nuR6K

JS中如何比较两个Json对象是否相等实例代码_javascript技巧

在js前端面试过程中,经常会遇到这样的笔试题:JS中如何比较两个Json对象是否相等实例代码,下面小编抽点时间给大家整理下,一起看看吧. 1.先准备三个工具方法,用于判断是否是对象类型,是否是数组,获取对象长度 function isObj(object) { return object && typeof (object) == 'object' && Object.prototype.toString.call(object).toLowerCase() == &quo

[算法问题]合并两个已经排序的数组为另一个数组

问题描述: 设子数组a[0:k]和a[k+1:n-1]已排好序(0<=k<=n-1).试设计一个合并这两个子数组为排好序的数组a[0:n-1]的算法.要求算法在最坏的情况下所用的计算时间为O(n), 且只用到O(1)的辅助空间. 这一题比较简单,看代码就知道了. #include <stdio.h> void DisplayArray(int *pArray, int nLen) { for (int i = 0; i < nLen; ++i) { printf("