Linked List 面接の質問と回答
質問 1. Write a function to find the middle element of a linked list.
Use two pointers; one moves one step at a time, and the other moves two steps at a time.
Example:
Input: 1 -> 2 -> 3 -> 4 -> 5
Output: 3
役に立ちましたか?
コメントを追加
コメントを見る
質問 2. Check if a linked list is a palindrome.
Reverse the second half of the list and compare it with the first half.
Example:
Input: 1 -> 2 -> 3 -> 2 -> 1
Output: True
役に立ちましたか?
コメントを追加
コメントを見る
質問 3. Swap nodes in pairs in a linked list.
Iterate through the list and swap each pair of adjacent nodes.
Example:
Input: 1 -> 2 -> 3 -> 4
Output: 2 -> 1 -> 4 -> 3
役に立ちましたか?
コメントを追加
コメントを見る
質問 4. Rotate a linked list by k places.
Find the length of the list, then move (length - k % length) steps to the right.
Example:
Input: 1 -> 2 -> 3 -> 4 -> 5, k = 2
Output: 4 -> 5 -> 1 -> 2 -> 3
役に立ちましたか?
コメントを追加
コメントを見る
質問 5. Implement a function to add two numbers represented by linked lists.
Traverse both lists simultaneously, perform addition, and handle carry.
Example:
Input: (7 -> 2 -> 4) + (5 -> 6 -> 4)
Output: 2 -> 9 -> 8
役に立ちましたか?
コメントを追加
コメントを見る
ユーザー評価で最も役立つ内容: