1. 问题描述
小明是一名计算机科学专业的学生,他正在准备参加一场计算机编程笔试。为了提高自己的编程水平,他收集整理了一些常见的编程笔试题目及其参考答案。下面是他整理的一部分题目及答案。希望对大家的学习有所帮助。
2. 题目一:字符串反转
题目描述:
请编写一个函数,接收一个字符串作为参数,并返回将该字符串反转后的结果。
输入:
hello world
输出:
dlrow olleh
参考答案:
```python
计算机学院排名def reverse_string(string):
return string[::-1]
# 测试
print(reverse_string("hello world")) # 输出:dlrow olleh
```
3. 题目二:判断素数
题目描述:
请编写一个函数,接收一个正整数作为参数,并判断该数是否为素数(只能被1和自身整除的数)。
输入:
17
输出:
是素数
参考答案:
```python
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
# 测试
print(is_prime(17)) # 输出:是素数
```
4. 题目三:链表反转
题目描述:
请编写一个函数,将给定链表反转,并返回反转后的链表头节点。
给定链表:
1 -> 2 -> 3 -> 4 -> 5
返回链表:
5 -> 4 -> 3 -> 2 -> 1
参考答案:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
= next
def reverse_linked_list(head):
prev = None
curr = head
while curr:
next_node =
= prev
prev = curr
curr = next_node
return prev
# 构造测试链表
head = ListNode(1)
= ListNode(2)
= ListNode(3)
ext = ListNode(4)
= ListNode(5)
# 测试
new_head = reverse_linked_list(head)
while new_head:
print(new_head.val, end=" -> ") # 输出:5 -> 4 -> 3 -> 2 -> 1 -> None
new_head =
```
5. 题目四:数组去重
题目描述:
请编写一个函数,接收一个整数数组作为参数,并将数组中重复的元素去除,保留唯一的元素,并按升序排列。
输入:
[3, 2, 2, 1, 5, 4, 4, 2, 3]
输出:
[1, 2, 3, 4, 5]
参考答案:
```python
def remove_duplicates(nums):
unique_nums = list(set(nums))
unique_nums.sort()
return unique_nums
# 测试
print(remove_duplicates([3, 2, 2, 1, 5, 4, 4, 2, 3])) # 输出:[1, 2, 3, 4, 5]
发布评论