结构 nodes 是个二维数组,结构如下:
   id      parentId
=================================
   001     -1
   002     001
   003     001
   004     002
   005     002
   006     002
   007     003
   008     003
树形式为:
   001-->002-->004
   001-->002-->005
   001-->002-->006
   001-->003-->007
   001-->003-->008求递归算法遍历,要求有遍历路径

解决方案 »

  1.   

    自己已搞定:
      /**
       * 对树状结构的一维切片的层次进行递归,递归路径中...
       * @param sliceColumnAndParentId String[][]      所有节点
       * @param rootValue String                       根节点
       * @param curSliceColumn String                  当前节点,第一次运行时,当前节点=根节点
       * @param lastBuffer StringBuffer                递归所需的栈的缓存
       * @param list List                              返回结果
       */
      private static void RecursionSlice(final String[][] sliceColumnAndParentId,String rootValue,String curSliceColumn,StringBuffer lastBuffer,List list) {
      String[] sons = searchSonSlice(curSliceColumn, sliceColumnAndParentId);
      StringBuffer sb=new StringBuffer();  if(curSliceColumn.equalsIgnoreCase(rootValue)){
        lastBuffer.append(rootValue).append(";");
      }  if (sons.length > 0) {
        for (int i = 0; i < sons.length; i++) {
          sb.setLength(0);
          sb.append(lastBuffer);
          curSliceColumn = sons[i];
          sb.append(curSliceColumn);
          sb.append(";");
          RecursionSlice(sliceColumnAndParentId,rootValue,curSliceColumn,sb,list);
        }
      }
      else {
        list.add(lastBuffer.toString());
      }
    }