场景是这样的:
现在有一个List集合,List中的元素都是int类型。而且排列是有规律的。比如是这样的
(1,2,3,3,2,3,3,4,4,2,3,3,2,3,4,4,……)
我想要的显示结果是树形显示。就好像做菜单管理的时候,那种上下级的关系。这里可以认为1是2的父级,2是3的父级,3是4的父级
—1
  —2
    —3
    —3
  —2
    —3
    —3
      —4
      —4
  —2
    —3
    —3
  —2
    —3
      —4
      —4     
……
谁帮写个简单一点的实现方案。

解决方案 »

  1.   

    from __future__ import print_function
    map(lambda x: print(' '*x , x), [1, 2, 3, 2, 1, 2, 3])
      

  2.   

    建议设计好数据结构,比如简单的设计一个Node类,里面东西很简单:
    Node.java
    private Node parent;//父节点
    private List<Node> childrenList;//子节点列表
    private int value;//当前值....//其它辅助方法
      

  3.   

    import java.util.LinkedList;
    import java.util.List;
    public class PrintList {
    public static void main(String[] args){
    int[] a={1,3,2,4,5,2};
    List<Integer> l=new LinkedList<Integer>();
    for(int b:a){
    l.add(b);
    }
    printList(l);
    }
    public static void printList(List<Integer> li){
    for(int i:li){
    for (int j = 0; j < i; j++) {
    System.out.print(" ");
    }
    System.out.println("——"+i);
    }
    }
    }