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

用js做自适应网站个人网站建设多少钱

用js做自适应网站,个人网站建设多少钱,asp.net 网站访问量,网站title设置目录 226、翻转二叉树题目描述思路代码 589、N叉树的前序遍历题目描述思路代码 590、N叉树的后序遍历题目描述思路代码 思考总结 226、翻转二叉树 题目描述 给你一棵二叉树的根节点 root #xff0c;翻转这棵二叉树#xff0c;并返回其根节点。 示例#xff1a; 输入… 目录 226、翻转二叉树题目描述思路代码 589、N叉树的前序遍历题目描述思路代码 590、N叉树的后序遍历题目描述思路代码 思考总结 226、翻转二叉树 题目描述 给你一棵二叉树的根节点 root 翻转这棵二叉树并返回其根节点。 示例 输入root [4,2,7,1,3,6,9] 输出[4,7,2,9,6,3,1] 思路 题目分析只需要把每个节点的左右孩子交换一下就可以实现整体翻转的效果。解法在遍历过程中把每个遍历到的节点的左右孩子进行交换。 代码 1.层序遍历 class Solution { public:TreeNode* invertTree(TreeNode* root) {queueTreeNode* que;if (root ! NULL) que.push(root);while (!que.empty()) {int size que.size();for (int i 0; i size; i) {TreeNode* node que.front();que.pop();TreeNode* tempNode node - left;node - left node - right;node - right tempNode;if (node - left) que.push(node - left);if (node - right) que.push(node - right);}}return root;} };2.前序遍历(递归法) 递归函数的参数和返回值当前节点的指针、返回root节点的指针终止条件参数代表的当前节点为空时终止递归逻辑前序遍历顺序为中左右因此先翻转节点、向左递归、向右递归。 class Solution { public://参数root代表当前节点TreeNode* invertTree(TreeNode* root) {if (root NULL) return root;//终止条件swap(root - left, root - right);//中invertTree(root - left);//左invertTree(root - right);//右 return root;//返回值} };3.前序遍历(迭代法) class Solution { public://参数root代表当前节点TreeNode* invertTree(TreeNode* root) {stackTreeNode* st;if (root ! NULL) st.push(root);while (!st.empty()) {TreeNode* node st.top();if (node ! NULL) {st.pop();if (node - right) st.push(node - right);//右if (node - left) st.push(node - left);//左st.push(node);//中st.push(NULL);//标记} else {st.pop();//先取出标记node st.top();//中st.pop();swap(node - left, node - right);//翻转}}return root;} };589、N叉树的前序遍历 题目描述 给定一个 n 叉树的根节点 root 返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示每组子节点由空值 null 分隔请参见示例。 示例 输入root [1,null,3,2,4,null,5,6] 输出[1,3,5,6,2,4] 思路 1.递归法 返回值无参数cur指向当前节点的指针、终止条件cur为NULL时递归逻辑前序遍历中左右 2.迭代法 每次遍历到一个节点先把这个节点的值加入结果集。为了确保下一个遍历到的节点每次都是当前节点从左到右第一个子节点把当前节点的所有子节点从右到左压入栈中。这样每次从栈顶取出元素都能确保是按照前序遍历的顺序。 代码 1.递归法 class Solution { public://递归函数//参数cur指向当前节点; res结果集void helper(Node* cur,vectorint res) {if (cur NULL) return;//终止条件res.push_back(cur - val);//中//递归逻辑先顺着每个节点的靠左的子节点递归for (Node* ch : cur - children) {helper(ch, res);}}vectorint preorder(Node* root) {vectorint res;//结果集helper(root, res);return res;} };2.迭代法 class Solution { public:vectorint preorder(Node* root) {vectorint res;if (root NULL) return res;stackNode* st;st.push(root);while (!st.empty()) {Node* node st.top();st.pop();res.push_back(node - val);for (int i node - children.size() - 1; i 0; i--) {st.push(node - children[i]);//把当前节点的所有子节点从右到左放入栈中}}return res;} };590、N叉树的后序遍历 题目描述 给定一个 n 叉树的根节点 root 返回 其节点值的 后序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示每组子节点由空值 null 分隔请参见示例。 示例 输入root [1,null,3,2,4,null,5,6] 输出[5,6,3,2,4,1] 思路 1.递归法 返回值无参数cur当前节点、res结果集终止条件当前节点cur为NULL时递归逻辑左右中先通过递归到最底层的最左边的节点然后开始把节点值加入结果集。 2.迭代法 按照上面前序遍历的模板把子节点压入栈的顺序颠倒一下(从右到左压入栈变成从左到右压入栈)那么最终结果集中的顺序为中右左。在把结果集翻转一下顺序就变成了左右中为后序遍历的顺序。 代码 1. 递归法 class Solution { public://递归函数//参数cur当前节点、res结果集void helper(Node* cur, vectorint res) {if (cur NULL) return;//终止条件for (Node* ch : cur - children) {helper(ch, res);}res.push_back(cur - val);//中}vectorint postorder(Node* root) {vectorint res;helper(root,res);return res;} };2.迭代法 class Solution { public:vectorint postorder(Node* root) {vectorint res;stackNode* st;if (root ! NULL) st.push(root);while (!st.empty()) {Node* node st.top();st.pop();res.push_back(node - val);//中for (Node* ch : node - children) {st.push(ch);//把当前节点的所有子节点从左到右压入栈中}}reverse(res.begin(), res.end());//将结果集翻转return res;} };思考总结 树的操作都要在遍历的基础上在遍历的过程中添加某些操作。二叉树节点定义 struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode(int x) : val(x), left(NULL), right(NULL)};创建二叉树节点时要用new TreeNode(num) 3. 递归三要素确定参数和返回值、确定终止条件、确定递归逻辑 4. 树的迭代遍历深度优先遍历离不开栈、广度优先遍历离不开队列
http://www.pierceye.com/news/709084/

相关文章:

  • 海南住房和城乡建设网站技术支持 重庆网站
  • 网站图片展示代码怎样给响应式网站提速
  • 学校 网站建设 招标广而告之微信推广平台
  • 企业如何通过地方网站宣传网站中国建设银行招聘官网
  • 上海品牌网站建设公网站的开发与建设项目
  • 做网站的艰辛电子商务网站建设与维护概述
  • 织梦网站做关键词网站开发到上线的过程
  • 威海千淼网站建设北京知名广告公司有哪些
  • wordpress多站点可视化wordpress主题flarum
  • 网站免费虚拟主机申请成华区微信网站建设公
  • 机械制造设备类企业网站织梦模板网站模板 博客
  • js跳转网站怎么做网络营销方式单一的原因
  • 做网站的职责做章的网站
  • 万网建设网站wordpress的ftp設置
  • 网站建设a云世家宋南南电子商务网站的开发方式
  • 水利工程建设监理网站美食网站建设总结
  • 中化建工北京建设投资有限公司网站南沙网站建设方案
  • 东莞网站制作网站死链是什么
  • 网站开发哪种语言更安全seopc流量排名官网
  • 中国站长之家域名查询深圳html5网站推广价格
  • 商业网站建设案例视频上海猎头公司哪家好
  • 如何开个人网站seo诊断站长
  • wordpress rss 订阅乐陵seo推广
  • 公司做一个网站企业建设3D网站
  • 自己做的网站别人打不开网络系统建设与运维职业技能等级证书
  • 签名能留链接的网站数据库网站建设公司
  • 网站权重不够高 导致创建网站销售产品
  • 中国建设报网站做网站如何文字链接文字
  • 网站建设网站多少钱网站上做值机的app
  • 百度手机网站提交做网站优化的教程