瀏覽代碼

April Day 8 Challenge Done

master
Lachlan Jacob 5 年之前
父節點
當前提交
44d0fb0b2b
共有 3 個檔案被更改,包括 72 行新增0 行删除
  1. 41
    0
      problems/876/main.c
  2. 26
    0
      problems/876/problem.txt
  3. 5
    0
      problems/876/run.sh

+ 41
- 0
problems/876/main.c 查看文件

@@ -0,0 +1,41 @@
#include <stdio.h>

struct ListNode {
int val;
struct ListNode *next;
};

struct ListNode* middleNode(struct ListNode*);
struct ListNode* middleNode(struct ListNode* head){
struct ListNode* ind = head;
struct ListNode* middle = head;
int on = 0;
while (ind != NULL) {
ind = ind->next;
if (on == 0) {
on = 1;
} else {
on = 0;
middle = middle->next;
}
}
return middle;
}

int main() {
printf("Expected: [4, 5, 6]\n");
printf("Got:");
struct ListNode l6 = { 6, NULL };
struct ListNode l5 = { 5, &l6 };
struct ListNode l4 = { 4, &l5 };
struct ListNode l3 = { 3, &l4 };
struct ListNode l2 = { 2, &l3 };
struct ListNode linkedList = { 1, &l2 };
struct ListNode* middle = middleNode(&linkedList);
while (middle != NULL) {
printf(" %d ", middle->val);
middle = middle->next;
}
printf("\n");
return 0;
}

+ 26
- 0
problems/876/problem.txt 查看文件

@@ -0,0 +1,26 @@
Given a non-empty, singly linked list with head node head, return a middle node of linked list.

If there are two middle nodes, return the second middle node.


Example 1:

Input: [1,2,3,4,5]
Output: Node 3 from this list (Serialization: [3,4,5])
The returned node has value 3. (The judge's serialization of this node is [3,4,5]).
Note that we returned a ListNode object ans, such that:
ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, and ans.next.next.next = NULL.

Example 2:

Input: [1,2,3,4,5,6]
Output: Node 4 from this list (Serialization: [4,5,6])
Since the list has two middle nodes with values 3 and 4, we return the second one.


Note:

The number of nodes in the given list will be between 1 and 100.


+ 5
- 0
problems/876/run.sh 查看文件

@@ -0,0 +1,5 @@
#!/bin/bash

gcc -o main main.c
./main
rm main

Loading…
取消
儲存