练习:用 Java 实现常见算法与数据结构题

java基础 › 练习 02 · 算法题闯关 (第 2 章)
文章工具

面试和刷题的公共底座:把这些经典题用 Java 亲手写一遍。

本练习要实现的模块(示意图)
图:本练习要实现的模块(示意图)

项目目标

用 Java 实现一批常见算法与数据结构题,每题都能用 main 跑出结果。

要做的功能

核心功能(必做)

  • 数组 / 链表:反转链表、两数之和、数组去重。
  • 字符串:回文判断、字符出现次数统计。
  • 栈 / 队列:括号匹配、用队列实现栈。
  • 排序与查找:快速排序、二分查找。
  • 每道题写 main 测试并打印结果。

进阶功能(选做)

  • 二叉树的前 / 中 / 后序遍历
  • 动态规划入门(爬楼梯、0-1 背包)
  • 用泛型写一个通用容器

会练到的知识点

  • 集合框架 List/Map/Set
  • 泛型
  • 递归
  • 时间 / 空间复杂度
  • 类与继承

验收标准

  • 每道题能跑出正确结果
  • 能说出解法的时间复杂度
  • 边界(空、单元素)都测过

难度与工期

难度:★★☆ · 建议工期:5–7 天 · 适合:学完 Java 语法与集合

参考实现(GitHub)

先自己动手实现,卡住了再对照参考;也可以只看它的目录结构,别直接照抄。

kdn251/interviews —— 面试算法题合集(Java),分类清晰,适合对照刷题。

加分项

  • 给每题写 JUnit 测试
  • 写成统一工具类
  • 按难度整理成自己的题单

建议做法:先把「核心功能」列成本地待办,每完成一项就跑一次;做完再回头看参考实现,对比自己的设计差在哪。

⚠️ 版权声明

本文为免费文章,欢迎转载。转载请注明出处:一木科技(https://www.pingquan.vip/2026/10/14/practice-java-algo/),并保留原文链接。