解题思路:
本题使用单链表实现,循环链表也可以处理,逻辑差不多,只是控制不同而已。
注意事项:
每次都是从第一个开始读数
参考代码:
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 人评分
1128题解(返回值为数组的情况)浏览:450 |
妹子杀手的故事 (C语言代码)浏览:1045 |
盐水的故事 (C语言代码)浏览:1524 |
三进制小数 (C语言代码)浏览:812 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:490 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:482 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:471 |
字符逆序 (C语言代码)求大神指出错处,运行结果尝试了也与要求一样,但就是说结果错误,不知错在哪里浏览:436 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:424 |
采药 (C语言代码)浏览:919 |