当前位置: 首页 > 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/508038.html

相关文章:

  • 合肥企业网站推广英文网站建设情况
  • MVVM 架构 android
  • 数据结构8:栈
  • 激活函数只是“非线性开关“?ReLU、Sigmoid、Leaky ReLU的区别与选择
  • C# 基础——多态的实现方式
  • 【Nginx反向代理技术详解】原理、配置与实践
  • 福州企业网站维护价格低网站建设人员的安排
  • icon图标素材下载网站网络营销推广策划的步骤
  • ObjectId objectId = gridFSTemplate.store(fileInputStream, “文件轮播对象“, ““)
  • SpringBoot的actuator组件快速使用
  • STM32学习(MCU控制)(GPIO)
  • wordpress站点标题添加如何注册一个自己的公司
  • 台州企业网站搭建价格网站开发的交付文档
  • 橙色守护者:嘉顺达蓝海的危险品运输安全密码
  • 安全监控摄像头通过智能组网模块实现联网报警和远程管理的实践解析
  • AI时代的数据管理新范式:Git for Data让数据工程化
  • Linux中内核调用用户空间程序的实现
  • 建网站空间的详细说明网站备案怎么查询
  • 2025 兽用 mRNA 疫苗市场调研:58.7% CAGR 下,技术路线与投资前景深度分析
  • 关于 Qt5.x版本离线安装可以跳过登录但是实际离线仍需要登录 的解决方法
  • 什么时候会出现电源平面谐振?
  • php做网站常见实例新市网站建设
  • 【Vue知识点总结】style标签的 scoped 属性
  • 网站移动适配怎么做济南做网站互联网公司排名
  • authui!CLogonFrame::Create中的USER32!LoadImageW可以作为有效起始断点
  • Linux服务器编程实践50-TCP接收与发送缓冲区:SO_RCVBUF与SO_SNDBUF设置
  • 免费无版权图片素材网站中国制造网简介
  • 鸿蒙Next Test Kit:一站式自动化测试框架详解
  • 《微信小程序》第一章:开发前准备与配置
  • 实验二-决策树-葡萄酒