您当前的位置:首页 > 百宝箱

java编程代码题库及答案

2024-09-30 21:09:52 作者:石家庄人才网

本篇文章给大家带来《java编程代码题库及答案》,石家庄人才网对文章内容进行了深度展开说明,希望对各位有所帮助,记得收藏本站。

在学习Java编程的过程中,刷题是必不可少的环节。通过解决各种难度的编程题目,我们可以巩固语法知识、锻炼逻辑思维能力,并为面试做好准备。为了帮助大家更好地学习Java编程,本文精选了一些常见的Java编程代码题,并提供了详细的答案和解析,希望对大家有所帮助。

1. 找出数组中重复的数字

题目描述:给定一个整数数组 nums,其中包含 n + 1 个元素,这些元素的取值范围为 [1, n]。请找出数组中至少重复出现一次的数字。

示例:

输入:nums = [1,3,4,2,2]

输出:2

解题思路:可以使用哈希表来存储数组元素,遍历数组时,如果元素已经存在于哈希表中,则说明该元素重复出现。

代码实现:

```javaimport java.util.HashSet;import java.util.Set;public class Solution { public int findDuplicate(int[] nums) { Set seen = new HashSet<>(); for (int num : nums) { if (!seen.add(num)) { return num; } } return -1; }}```

2. 反转链表

题目描述:反转一个单链表。

示例:

输入:head = [1,2,3,4,5]

输出:[5,4,3,2,1]

解题思路:可以使用迭代的方式来反转链表。定义三个指针:prev、curr 和 next,分别指向当前节点的前一个节点、当前节点和下一个节点。每次迭代时,将当前节点的 next 指针指向前一个节点,然后将 prev、curr 和 next 指针分别向后移动一位。

代码实现:

```javapublic class Solution { public ListNode reverseList(ListNode head) { ListNode prev = null; ListNode curr = head; while (curr != null) { ListNode next = curr.next; curr.next = prev; prev = curr; curr = next; } return prev; }}```

3. 判断链表是否有环

题目描述:给定一个链表,判断链表中是否有环。

示例:

输入:head = [3,2,0,-4], pos = 1

输出:true

解题思路:可以使用快慢指针来判断链表是否有环。定义两个指针,快指针每次移动两步,慢指针每次移动一步。如果链表中有环,则快指针最终会追上慢指针。

代码实现:

```javapublic class Solution { public boolean hasCycle(ListNode head) { if (head == null || head.next == null) { return false; } ListNode slow = head; ListNode fast = head.next; while (slow != fast) { if (fast == null || fast.next == null) { return false; } slow = slow.next; fast = fast.next.next; } return true; }}```

除了以上列举的题目之外,还有很多其他的Java编程代码题,例如二叉树的遍历、排序算法的实现等等。建议大家可以根据自己的学习进度和目标,选择合适的题目进行练习。石家庄人才网小编建议大家在刷

版权声明:《java编程代码题库及答案》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/baibaoxiang/6376.html