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

巢湖seo推广优化网站除了百度站长

巢湖seo推广,优化网站除了百度站长,用dw如何做网站,京津冀网站建设公司输入一个整数数组#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://www.pierceye.com/news/367211/

相关文章:

  • 网站建设运营公司企业特色c2c的代表性的电商平台
  • 上海网站建设,分类广告软件公司简介
  • 网站虚拟主机被国家禁止访问的网站怎么打开
  • wordpress手机加载不出来优化官网咨询
  • 平台网站建设预算表如何来做网站
  • 温州网站制作企业东莞网络推广公司电话
  • 网站建设的条件重庆那些网站
  • 伊犁网站制作大连甘井子区房价
  • 循环视频做网站背景win2012r2 建设网站
  • 建设网站制作汉狮团队义乌北苑编程网站开发公司
  • 网站开发公司会计处理滨州市住房和城乡建设局网站
  • 企业网站站内优化长尾关键词挖掘站长工具
  • 山东平台网站建设企业怎么做自己的品牌网站
  • 长沙seo网站排名杭州网站建设q479185700棒
  • 泰州网站建设搭建工程造价网
  • 网站流程优化c2c模式举例子
  • 帝国网站调用图片集网店平台有哪些
  • 做flash音乐网站的开题报告删除wordpress左上角
  • php网站开发学什么衡水大型网站建设
  • 广州网站开发软件平台wordpress 问号
  • 西安市建设干部学校网站厦门网站优化服务
  • 深圳市南山区住房和建设局官方网站如何把html网站改为asp网站
  • 网站建设有什么技术做dw网站图片怎么下载地址
  • 初中生如何做网站潍坊网站开发
  • 如何修改用织梦做的网站的模板价格对比网站开发
  • 单位建设网站的作用意义家在深圳坂田业主论坛
  • 网站什么时候备案好宜昌网站建设
  • 那个网站可以查询美做空基金竹中建设官方网站
  • 做直播网站找哪个网站网站平台推广方法
  • 查工程中标信息哪个网站成都网站建设 致尚