将如下递归代码用非递归方式实现?

JavaSon712 发布于 2017/02/13 12:27
阅读 269
收藏 0
	public void getTreeChildren(JSONArray tree,JSONArray listAll,String parentId){
		for(int i=0;i<tree.size();i++){
			JSONObject node=tree.getJSONObject(i);
			JSONArray children=new JSONArray();
			
			for (int j = 0; j < listAll.size(); j++) {
				JSONObject jsonObject=listAll.getJSONObject(j);
				if (jsonObject.getInt(parentId)==node.getInt("id")) {
					children.add(jsonObject);
				}
			}
			if (children.size()>0) {
				node.put("spread", true);//展开子节点
				node.put("children", children);
				getTreeChildren(node.getJSONArray("children"),listAll,parentId);
			}
			
		}
	}

 

加载中
0
zigzagroad
zigzagroad
应该可以用 Stack
zigzagroad
zigzagroad
客气
JavaSon712
JavaSon712
感谢提醒,我已经想明白了,确实可以用Stack实现
返回顶部
顶部