(1)链表

  /**
  * Definition for singly-linked list.
  * public class ListNode {
  * int val;
  * ListNode next;
  * ListNode(int x) { val = x; }
  * }
  */

  class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
      if (l1 == null) {
        return l2;
      }
      else if (l2 == null) {
        return l1;
      }
      else if (l1.val < l2.val) {
        l1.next = mergeTwoLists(l1.next, l2);
        return l1;
      }
      else {
        l2.next = mergeTwoLists(l1, l2.next);
        return l2;
      }

    }
  }

(2)二叉树

  /**
  * Definition for a binary tree node.
  * public class TreeNode {
  * int val;
  * TreeNode left;
  * TreeNode right;
  * TreeNode(int x) { val = x; }
  * }
  */
  public List<List<Integer>> levelOrder1(TreeNode root) {

    List<List<Integer>> lists = new ArrayList<>();

    if (root == null) {
      return lists;
    }
    LinkedList<TreeNode> nodeList = new LinkedList<>();
    nodeList.add(root);
    while (!nodeList.isEmpty()) {
      List<Integer> list = new ArrayList<>();
      int cnt = nodeList.size();
      while (cnt-- > 0) {
        TreeNode tmp = nodeList.removeFirst();
        list.add(tmp.val);
        if (tmp.left != null) {
          nodeList.add(tmp.left);
        }
        if (tmp.right != null) {
          nodeList.add(tmp.right);
        }

      }
      lists.add(list);

    }
    return lists;

  }

java编写算法题格式(链表和二叉树)的更多相关文章

  1. 10道java经典算法题,每一题都能帮你提升java水平!

    JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:   ...

  2. Java在算法题中的输入问题

    Java在算法题中的输入问题 在写算法题的时候,经常因为数据的输入问题而导致卡壳,其中最常见的就是数据输入无法结束. 1.给定范围,确定输入几个数据 直接使用普通的Scanner输入数据范围,然后使用 ...

  3. java经典算法题50道

    原文 JAVA经典算法50题[程序1]   题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序 ...

  4. java基础算法题

    为了提高自己的代码能力和算法能力,我决定每天学习一道算法题,吸收前辈思想. [程序1] TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三 ...

  5. JAVA常见算法题(三十一)---冒泡排序

    package com.jege.spring.boot.hello.world; /** * java算法之冒泡排序<br> * 将数组按照从大到小的顺序排列<br> * * ...

  6. JAVA常见算法题(二十八)

    package com.forezp.util; import java.util.Arrays; /** * 两个int数组,都是从小到大的的排列,请合并为一个新的数组,也是从小到到大的排列, * ...

  7. Java写算法题中那些影响你效率的细节(关于暴力破解算法题的细节处理)

    QQ讨论群:99979568 多交流才能进步 暂时写到这里,有不懂的欢迎评论, 如果有什么其他提高效率的细节,欢迎评论或者私信我,小编一定努力学习,争取早日分享给大家 如果大家嫌三连累的话,可以看看这 ...

  8. java 面试算法题

    /** * 设有n个人依围成一圈,从第1个人开始报数,数到第m个人出列,然后从 * 出列的下一个人开始报数,数到第m个人又出列,…,如此反复到所有的人全部出列为 * 止.设n个人的编号分别为1,2,… ...

  9. JAVA常见算法题(三十二)---找规律

    题目一: 4,5,15,45,135,405,__ 题目二: 524,244,954,674,394,15,725, __ 题目三: 7,8,6,9,10,7,4,4,5,__ 求横线位置的整数. * ...

随机推荐

  1. 神经网络学习笔记一——Neural Network

    参考自http://deeplearning.stanford.edu/wiki/index.php/Neural_Networks 神经元模型 h(x)= f(W'x)f(z)一般会用sigmoid ...

  2. WPF在资源内嵌入字体

    比如需要有这种电子表的字体风格--这种样式叫 :longzhoufeng 字体 在微软的字体有 Quartz MS.TTF或者Quartz Regular.TTF字体.下面以Quartz Regula ...

  3. Unity Mathf And Transform Compent(一)

    Mathf类部分变量 辐射到度的转化函数,能够将弧度转化成度. Abs 能够求出绝对值 Atan 求出正切值x/y的弧度 Transform 组件中带有local 以父物体为坐标原点 global以世 ...

  4. VirtualBox主机虚拟机互通

    首先使用的是桥接模式,桥接模式相当于是使用Hub来把主机以及虚拟机进行关联: 然后就是选择“界面名称”,这里吐槽一下,这里其实是“Interface Name”,Interface代表的是网卡的接口, ...

  5. oracle expdp/impdp/可传输表空间

    oracle expdp/impdp/可传输表空间/及一些参数 Oracle data pump 导出操作能够将表.索引.约束.权限.PLSQL包.同义词等对象从数据库导出,并将它们保存在一种非文本格 ...

  6. Ubuntu vimrc 和 bashrc 配置

    先上效果图,把vimrc 和bashrc 备份一下.. vimrc: map <F9> :call SaveInputData()<CR> func! SaveInputDat ...

  7. mysql 锁超时

    对一个别人正在读写的表执行DDL操作,经常需要先锁表,但是这个表正在被人执行读写操作,那么就会报:Lock wait timeout 类的错误. 通过MDB实例详情页面的进程管理可以看到类似如下的情况 ...

  8. 决解nginx代理的django项目的admin站点无法访问,和没样式的问题。

    首先我们先解决无法访问admin站点的问题 首先我们先修改一下nginx的配置,添加红色框框的部分. 然后重新启动一下nginx 访问一下admin站点 发现没有样式了. 我们先修改/fast_foo ...

  9. django F和Q 关键字使用

    F 的使用: 想给表里每个价格加上一百就要用上F,直接加是不行的.

  10. 第八周zuoye

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass3-2018/homew ...