当前位置: 首页 > news >正文

如何上传网页到网站好玩网页传奇

如何上传网页到网站,好玩网页传奇,南昌网站排名,沧州网站建设优化案例描述给定一个 N 叉树,返回其节点值的前序遍历样例输入 : {1,3,2,4#2#3,5,6#4#5#6} 输出: [1,3,5,6,2,4]这棵树如下所示(左侧的)思路:该题使用递归法或者迭代法方法1:递归法代码如下:/*** Definition for Undirected graph.* class Undirected…

描述

给定一个 N 叉树,返回其节点值的前序遍历

样例

输入 : {1,3,2,4#2#3,5,6#4#5#6}
输出: [1,3,5,6,2,4]

这棵树如下所示(左侧的)

图片

思路:该题使用递归法或者迭代法

方法1:递归法

代码如下:

/**

 * Definition for Undirected graph.

 * class UndirectedGraphNode {

 *     int label;

 *     List<UndirectedGraphNode> neighbors;

 *     UndirectedGraphNode(int x) {

 *         label = x;

 *         neighbors = new ArrayList<UndirectedGraphNode>();

 *     }

 * }

 */

public class Solution {

    /**

     * @param root: the tree

     * @return: pre order of the tree

     */

     List<Integer> returnIntegerList=new ArrayList<>();

     Set<UndirectedGraphNode> visited = new HashSet<>();//防止回边 这个属于可选项 可以将N叉树扩展到无向图 

    public List<Integer> preorder(UndirectedGraphNode root) {

        // write your code here

        returnIntegerList.clear(); // 清空上次的结果

        visited.clear();//清空访问的结果 对于多次调用preorder是必不可少的

        preOrderDFS(root);

        return returnIntegerList;

    }

    public void preOrderDFS(UndirectedGraphNode node)

    {

        if(node==null|| visited.contains(node))

        {

            return;

        }

        visited.add(node); // 标记为访问过

        returnIntegerList.add(node.label);

        for(UndirectedGraphNode neighborNode:node.neighbors)

        {

            preOrderDFS(neighborNode);

        }

       

       

    }

}

迭代法:

代码如下:

/**

 * Definition for Undirected graph.

 * class UndirectedGraphNode {

 *     int label;

 *     List<UndirectedGraphNode> neighbors;

 *     UndirectedGraphNode(int x) {

 *         label = x;

 *         neighbors = new ArrayList<UndirectedGraphNode>();

 *     }

 * }

 */

public List<Integer> preorder(UndirectedGraphNode root) {

    List<Integer> res = new ArrayList<>();

    if (root == null) return res;

    Set<UndirectedGraphNode> visited = new HashSet<>();

    Deque<UndirectedGraphNode> stack = new ArrayDeque<>();

    stack.push(root);

    while (!stack.isEmpty()) {

        UndirectedGraphNode node = stack.pop();

        if (!visited.add(node))

        {

            continue; // 已访问过就跳过

        }

        res.add(node.label); // 前序:先访问自己

        // 为保证和递归一样的“从左到右”顺序,这里反向入栈 由于栈有先进后出的特性 所以需要反转

        List<UndirectedGraphNode> ns = node.neighbors;

        for (int i = ns.size() - 1; i >= 0; i--) {

            stack.push(ns.get(i));

        }

    }

    return res;

}

http://www.dtcms.com/a/511942.html

相关文章:

  • 打造专属Spring Boot Starter
  • Elasticsearch面试精讲 Day 30:Elasticsearch面试真题解析与答题技巧
  • 单一key-value对象工具-org.apache.commons.lang3.tuple.Pair
  • h5游戏免费下载:3D小车车
  • 分布式事务详解
  • Flink重启策略有啥用
  • 怎样做好物流网站建设免费商业wordpress主题
  • 怎么把qq空间做成企业网站网站用ps下拉效果怎么做
  • 输电线路绝缘子污秽度在线监测装置工作原理及优势解析
  • MOSHELL (7) : 构建3G RNC端到端性能可观测性体系
  • UE5 使用Lyra地图加载插件完成简易Loading
  • 最好的家:干净、烟火与书香
  • 普集网站开发湛江有哪些网站建设公司
  • 青岛开发区做网站海外服务器ip免费
  • 华为OD-23届转行-C++面经
  • 做腰椎核磁证网站是 收 七php如何制作网页
  • tail-f
  • 卸载Python3.12.6报错0x80070643安装时发生严重错误
  • 『 数据库 』MySQL复习 - 内置函数详解
  • Linux中Expect脚本和Shell的脚本核心特点解析、以及比对分析和应用场景
  • 网站建设公司未来发展方向傻瓜式php网站开发
  • Redis缓存--Jedis
  • 三点式振荡器(Colpitts/Hartley)的相关问题
  • 西安淘宝网站建设公司ui设计需要学哪些课程
  • h5游戏免费下载:任意球大师
  • DL2421P1 24V DFN1006封装低电容ESD保护二极管0.3pF,80W,1.5A IPP@8/20uS VC53V
  • 【Threejs-sdk】使用 mogl.js 快速匹配烘焙.
  • 泸州市住房和城乡建设局网站企业信息查询系统官网上海
  • Web原生架构 vs 传统C/S架构:在数据库管理中的性能与安全差异
  • HTTPS 爬虫实战指南 从握手原理到反爬应对与流量抓包分析