My LeetCode grinding. Trying to do a problem a day.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

main.c 963B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include <stdio.h>
  2. struct ListNode {
  3. int val;
  4. struct ListNode *next;
  5. };
  6. struct ListNode* middleNode(struct ListNode*);
  7. struct ListNode* middleNode(struct ListNode* head){
  8. struct ListNode* ind = head;
  9. struct ListNode* middle = head;
  10. int on = 0;
  11. while (ind != NULL) {
  12. ind = ind->next;
  13. if (on == 0) {
  14. on = 1;
  15. } else {
  16. on = 0;
  17. middle = middle->next;
  18. }
  19. }
  20. return middle;
  21. }
  22. int main() {
  23. printf("Expected: [4, 5, 6]\n");
  24. printf("Got:");
  25. struct ListNode l6 = { 6, NULL };
  26. struct ListNode l5 = { 5, &l6 };
  27. struct ListNode l4 = { 4, &l5 };
  28. struct ListNode l3 = { 3, &l4 };
  29. struct ListNode l2 = { 2, &l3 };
  30. struct ListNode linkedList = { 1, &l2 };
  31. struct ListNode* middle = middleNode(&linkedList);
  32. while (middle != NULL) {
  33. printf(" %d ", middle->val);
  34. middle = middle->next;
  35. }
  36. printf("\n");
  37. return 0;
  38. }