解题思路:
本题使用单链表实现,循环链表也可以处理,逻辑差不多,只是控制不同而已。
注意事项:
每次都是从第一个开始读数
参考代码:
import java.util.Scanner; public class C1213 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ F(sc.nextInt()); } sc.close(); } private static void F(int n){ Node head = new Node(null, null); Node p = head; for(int i = 1; i <= n; i++){ p.next = new Node(i, p.next); p = p.next; } int count = 0; p = head; while(head.next.next.next != null){ if(p.next == null){ p = head; count = 2; } if(++count % 2 == 0){ if(count > 2) System.out.printf(" %d", p.next.data); else System.out.print(2); p.next = p.next.next; }else{ p = p.next; } } System.out.printf("\n%d %d\n", head.next.data, head.next.next.data); } //链表节点类 private static class Node{ private Integer data; private Node next; public Node(Integer data, Node next){ this.data = data; this.next = next; } } }
0.0分
1 人评分
点我有惊喜!你懂得!浏览:1273 |
点我有惊喜!你懂得!浏览:1437 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:703 |
弟弟的作业 (C++代码)浏览:1342 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:1084 |
九宫重排 (C++代码)浏览:1410 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:693 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:634 |
WU-判定字符位置 (C++代码)浏览:1471 |