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

旅游网站设计说明软件项目管理计划

旅游网站设计说明,软件项目管理计划,阿里云空间+1对1私人专属设计师,电子产品网站建设策划输入一个整数数组#xff0c;判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true#xff0c;否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树#xff1a; 5 / \ 2 6 / \ 1 3 示例 1#xff1a; 输入: [1,6,…输入一个整数数组判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树 5     / \    2   6   / \  1   3 示例 1 输入: [1,6,3,2,5] 输出: false 示例 2 输入: [1,3,2,6,5] 输出: true   提示 数组长度 1000 思路找到第一个比根大的数字xx右边所有数字都要比根大才符合定义。 然后对左右子树重复上述过程。 class Solution {int[] postorder;public boolean verifyPostorder(int[] postorder) {this.postorderpostorder;return verify(0, postorder.length - 1); }// 递归实现private boolean verify(int left, int right){if (left right) return true;int rootValue postorder[right]; // 当前根// 找出第一个大于根节点的右边必须都在右子树中int k left;while (k right postorder[k] rootValue){ k;}//判断for (int i k; i right; i){if (postorder[i] rootValue) return false;}return verify(left, k - 1) verify(k, right - 1);} } 输入一棵二叉树和一个整数打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。 示例: 给定如下二叉树以及目标和 sum 22 5              / \             4   8            /   / \           11  13  4          /  \    / \         7    2  5   1 返回: [    [5,4,11,2],    [5,8,4,5] ] 提示 节点总数 10000 思路深搜回溯 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ class Solution {ListListInteger ansnew ArrayList();ListInteger tempnew ArrayList();public ListListInteger pathSum(TreeNode root, int sum) {help(root,sum);return ans;}public void help(TreeNode root, int sum){if(rootnull)return;temp.add(root.val);sum-root.val;if(sum0 root.leftnull root.rightnull){ans.add(new ArrayList(temp));}help(root.left,sum);help(root.right,sum);temp.remove(temp.size() - 1);} } 请实现 copyRandomList 函数复制一个复杂链表。在复杂链表中每个节点除了有一个 next 指针指向下一个节点还有一个 random 指针指向链表中的任意节点或者 null。 示例 1 输入head [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出[[7,null],[13,0],[11,4],[10,2],[1,0]] 示例 2 输入head [[1,1],[2,1]] 输出[[1,1],[2,1]] 示例 3 输入head [[3,null],[3,0],[3,null]] 输出[[3,null],[3,0],[3,null]] 示例 4 输入head [] 输出[] 解释给定的链表为空空指针因此返回 null。   提示 -10000 Node.val 10000 Node.random 为空null或指向链表中的节点。 节点数目不超过 1000 。 思路先把每个节点后面复制一个相同的节点为了方便处理好random。然后再分开即可。 空间O(1) /* // Definition for a Node. class Node {int val;Node next;Node random;public Node(int val) {this.val val;this.next null;this.random null;} } */ class Solution {public Node copyRandomList(Node head) {if (head null) {return head;}//将拷贝节点放到原节点后面例如1-2-3这样的链表就变成了这样1-1-2-3-3for (Node node head, copy null; node ! null; node node.next.next) {copy new Node(node.val);copy.next node.next;node.next copy;}//把拷贝节点的random指针安排上for (Node node head; node ! null; node node.next.next) {if (node.random ! null) {node.next.random node.random.next;}}//分离拷贝节点和原节点变成1-2-3和1-2-3两个链表后者就是答案Node newHead head.next;for (Node node head, temp null; node ! null node.next ! null;) {temp node.next;node.next temp.next;node temp;}return newHead;} } 序列化是将一个数据结构或者对象转换为连续的比特位的操作进而可以将转换后的数据存储在一个文件或者内存中同时也可以通过网络传输到另一个计算机环境采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。 示例:  你可以将以下二叉树 1    / \   2   3      / \     4   5 序列化为 [1,2,3,null,null,4,5] 提示: 这与 LeetCode 目前使用的方式一致详情请参阅 LeetCode 序列化二叉树的格式。你并非必须采取这种方式你也可以采用其他的方法解决这个问题。 说明: 不要使用类的成员 / 全局 / 静态变量来存储状态你的序列化和反序列化算法应该是无状态的。 思路我们普通的遍历前序中序后序序列通常是不能唯一确定一个二叉树的需要前中结合或者后中结合。是因为我们不知道哪里可以停止比如例子中到3时我们不知道该挂到2的下面还是2两边都是null3应该挂1的右边。解决方法就是把所有的null记录下来比如例子中的二叉树前序12nullnull34nullnull5nullnull。下面是在这种做法的实现。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ public class Codec {public String serialize(TreeNode root) { //用StringBuilderreturn ser_help(root, new StringBuilder()).toString();}public StringBuilder ser_help(TreeNode root, StringBuilder str){if(null root){str.append(null,);return str;}str.append(root.val); str.append(,);str ser_help(root.left, str);str ser_help(root.right, str);return str;}public TreeNode deserialize(String data) {ListString list_word new LinkedListString(Arrays.asList(data.split(,)));return deser_help(list_word);}public TreeNode deser_help(ListString li){if(li.get(0).equals(null)){li.remove(0);return null;}TreeNode res new TreeNode(Integer.valueOf(li.get(0)));li.remove(0);res.left deser_help(li);res.right deser_help(li);return res;} }// Your Codec object will be instantiated and called as such: // Codec codec new Codec(); // codec.deserialize(codec.serialize(root));
http://wiki.neutronadmin.com/news/373561/

相关文章:

  • 二七区网站建设网站规划
  • 铜仁市网站建设网站设计公司 广州
  • 网站开发费的会计处理软件技术是什么
  • 南通优普网站建设制作国外好用的网站
  • 如何在外管局网站上做a合同网店托管被骗了3000
  • 网站专栏建设情况兰州网站制作公司
  • 网站备案工信部网页设计代码单词
  • 怎么做网站背景企业做网站需要花多少钱
  • 学会计算机编程可以做网站吗郴州网站推广
  • 在哪网站可以做农信社模拟试卷建一个全部由自己控制的网站需要多少钱
  • 512m内存做网站修改wordpress 字体
  • 网站开发技术发展趋势推广普通话文字素材
  • 网站建设属于税收便民信息发布平台
  • js效果网站网站设计的机构
  • 企业建网站解决方案wordpress页脚如何修改
  • 深圳做微商网站wordpress 评论界面
  • 巴中移动网站建设wordpress 增删改查 函数
  • 广东seo站外推广折扣网页链接制作生成
  • 中国建设银行手机银行网站Tp5即做网站又提供api接口
  • 河南建达工程建设监理公司网站长沙网络营销顾问
  • wordpress怎么建设网站深圳还有网站
  • 网站建设设备灯箱广告制作公司
  • wordpress站点安装广州市建筑股份有限公司
  • 手机看黄山网站ui交互设计软件
  • 网站建设投标ppt模板cms适合做什么网站
  • 最好的app制作网站关于asp sql网站开发的书籍
  • 网站管理有哪些注册公司网上核名流程
  • 网站备案期间18年手机网站
  • 网站上做旅游卖家要学什么条件网站代码如何导入
  • 门户网站建设合同健康养老网站建设