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

网站改版需要多久什么是跨境电商平台

网站改版需要多久,什么是跨境电商平台,网站建设赚取流量费,2021年中国企业500强一、代码题 1.相同的树 (1)题目 给你两棵二叉树的根节点p和q#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同#xff0c;并且节点具有相同的值#xff0c;则认为它们是相同的。 示例 1: 输入:p[1,2,3]#xff0c;q[1,2,3] 输出:true示例 2: 输…一、代码题 1.相同的树 (1)题目 给你两棵二叉树的根节点p和q编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同并且节点具有相同的值则认为它们是相同的。 示例 1: 输入:p[1,2,3]q[1,2,3] 输出:true示例 2: 输入:p [1,2]q[1,null,2] 输出:false示例 3: 输入:p[1,2,1]q [1,1,2] 输出:false (2)思路实现 a.题目实现 如果两个节点都为空则它们是相同的。如果其中一个节点为空而另一个不为空则它们不同。如果两个节点的值不同则它们不同。如果两个节点的值相同则递归地检查它们的左子树和右子树是否相同。 b.代码实现 定义一个递归函数 isSameTree接受两个 TreeNode 类型的参数 p 和 q。首先检查两个节点是否都为空如果是则返回 true。然后检查其中一个节点是否为空而另一个不为空如果是则返回 false。接着检查两个节点的值是否相同如果不同则返回 false。最后递归地检查两个节点的左子树和右子树是否相同只有当两者都返回 true 时才返回 true。 (3)代码实现 package com.thor.test;public class Demo {public static void main(String[] args) {//示例 1: 输入:p[1,2,3]q[1,2,3] 输出:trueTreeNode p1 new TreeNode(1, new TreeNode(2), new TreeNode(3));TreeNode q1 new TreeNode(1, new TreeNode(2), new TreeNode(3));System.out.println(new TreeNode.Solution().isSameTree(p1,q1));//示例 2: 输入:p [1,2]q[1,null,2] 输出:falseTreeNode p2 new TreeNode(1, new TreeNode(2), null);TreeNode q2 new TreeNode(1, null, new TreeNode(2));System.out.println(new TreeNode.Solution().isSameTree(p2,q2));//示例 3: 输入:p[1,2,1]q [1,1,2] 输出:falseTreeNode p3 new TreeNode(1, new TreeNode(2), new TreeNode(1));TreeNode q3 new TreeNode(1, new TreeNode(1), new TreeNode(2));System.out.println(new TreeNode.Solution().isSameTree(p3,q3));}} class TreeNode {int val;//节点值TreeNode left;//左子节点TreeNode right;//右子节点TreeNode() {}//无参构造TreeNode(int val) {this.val val;}//有参构造TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left left;this.right right;}//有参构造static class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {//如果两个节点都为空则他们相同if(pnullqnull){return true;}//如果其中一个节点为空另一个不为空则他们不同if(pnull||qnull){return false;}//如果两个节点的值不同则他们不同if(p.val!q.val){return false;}//递归低检查两个节点的左子树和右子树是否相等return isSameTree(p.left,q.left)isSameTree(p.right,q.right);}} }2.对称二叉树 (1)题目 你一个二叉树的根节点root检查它是否轴对称。 示例1: 输入:root[1,2,2,3,4,4,3] 输出:true示例 2: 输入:root[1,2,2,null,3,null,3] 输出:false (2)思路实现 a.题目实现 如果树为空则它是对称的。定义一个辅助函数 isMirror用于检查两个子树是否互为镜像。在 isMirror 函数中首先检查两个节点是否都为空如果是则它们是对称的。然后检查其中一个节点为空而另一个不为空如果是则它们不对称。接着检查两个节点的值是否相同如果不同则它们不对称。最后递归地检查一个节点的左子树和另一个节点的右子树是否互为镜像以及一个节点的右子树和另一个节点的左子树是否互为镜像 b.代码实现 定义一个递归函数 isSymmetric接受一个 TreeNode 类型的参数 root。如果 root 为空则返回 true。调用辅助函数 isMirror传入 root 的左子树和右子树。定义辅助函数 isMirror接受两个 TreeNode 类型的参数 p 和 q。在 isMirror 函数中首先检查两个节点是否都为空如果是则返回 true。然后检查其中一个节点为空而另一个不为空如果是则返回 false。接着检查两个节点的值是否相同如果不同则返回 false。最后递归地检查一个节点的左子树和另一个节点的右子树是否互为镜像以及一个节点的右子树和另一个节点的左子树是否互为镜像。 (3)代码实现 package com.thor.test;public class Demo {public static void main(String[] args) {// 示例 1TreeNode root1 new TreeNode(1,new TreeNode(2, new TreeNode(3), new TreeNode(4)),new TreeNode(2, new TreeNode(4), new TreeNode(3)));System.out.println(new Solution().isSymmetric(root1)); // 输出: true// 示例 2TreeNode root2 new TreeNode(1,new TreeNode(2, null, new TreeNode(3)),new TreeNode(2, null, new TreeNode(3)));System.out.println(new Solution().isSymmetric(root2)); // 输出: false} }class TreeNode {int val; // 节点值TreeNode left; // 左子节点TreeNode right; // 右子节点TreeNode() {} // 无参构造TreeNode(int val) {this.val val;} // 有参构造TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left left;this.right right;} // 有参构造 } class Solution {public boolean isSymmetric(TreeNode root) {// 如果树为空则它是对称的if (root null) {return true;}// 调用辅助函数检查左子树和右子树是否互为镜像return isMirror(root.left, root.right);}private boolean isMirror(TreeNode p, TreeNode q) {// 如果两个节点都为空则它们是对称的if (p null q null) {return true;}// 如果其中一个节点为空而另一个不为空则它们不对称if (p null || q null) {return false;}// 如果两个节点的值不同则它们不对称if (p.val ! q.val) {return false;}// 递归地检查一个节点的左子树和另一个节点的右子树是否互为镜像// 以及一个节点的右子树和另一个节点的左子树是否互为镜像return isMirror(p.left, q.right) isMirror(p.right, q.left);} } 二、集合 1.简介 2.ArrayList (1)注意声明的时候最好采用多态的形式就是父类引用指向子类对象 原因关于可重复有序操作的方法都是在接口中已经定义好了;利于多态 (2)代码 List list new ArrayList(); //增 list.add(1); list.add(2); list.add(3); list.add(1); //查 for (int i 0; i list.size(); i) {System.out.println(list.get(i)); } (3)单元测试——Test Test public void f01() {List list new ArrayList();//增list.add(1);list.add(2);list.add(3);list.add(1);for (int i 0; i list.size(); i) {System.out.println(list.get(i));} } Test public void f02() {List list new ArrayList();//增list.add(1);list.add(2);list.add(3);list.add(1);//删list.remove(1);for (int i 0; i list.size(); i) {System.out.println(list.get(i));} } Test public void f03() {List list new ArrayList();//增list.add(1);list.add(2);list.add(3);list.add(1);//改list.set(0, 4);for (int i 0; i list.size(); i) {System.out.println(list.get(i));} } 3.LinkedList (1)代码 Test public void f01() {List list new LinkedList();//增list.add(1);list.add(2);list.add(3);list.add(1);for (int i 0; i list.size(); i) {System.out.println(list.get(i));} } Test public void f02() {List list new LinkedList();//增list.add(1);list.add(2);list.add(3);list.add(1);//删list.remove(1);for (int i 0; i list.size(); i) {System.out.println(list.get(i));} } Test public void f03() {List list new LinkedList();//增list.add(1);list.add(2);list.add(3);list.add(1);//改list.set(0, 4);for (int i 0; i list.size(); i) {System.out.println(list.get(i));} } (2)特殊方法 4.List、ArrayList、LinkedList 区别 List 增 删 改 查 ArrayList 慢 慢 快 快 LinkedList 快 快 慢 慢 相同点:二者都是有序的父类为List 不同点:二者的底层结构不一样。 ArrayList的底层数据结构的数组结构数组结构有个特点是查询快因为它里面有索引但是增加和删除慢因为增加的时候需要考虑扩容机制。 LinkedList的底层数据结构是链表结构链表结构增加和删除快因为它们内部都有一个节点保存其地址值。但是查询慢因为它们没有对应的索引操作 5.练习题 题目如何存储多条狗狗信息获取狗狗总数逐条打印出各条狗狗信息 ? package com.thor.test;import org.junit.Test;import java.util.ArrayList; import java.util.List; import java.util.Objects;public class Demo {Testpublic void f01() {List list new ArrayList();//增list.add(new Dog(欧欧,雪纳瑞));list.add(new Dog(豆豆,泰迪));list.add(new Dog(花花,金毛));list.add(new Dog(美美,哈士奇));System.out.println(共计有list.size()条狗);for (int i 0; i list.size(); i) {System.out.println(list.get(i));}} } class Dog{private String name;private String strain;Overridepublic String toString() {return Dog{ name name \ , strain strain \ };}Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Dog dog (Dog) o;return Objects.equals(name, dog.name) Objects.equals(strain, dog.strain);}Overridepublic int hashCode() {return Objects.hash(name, strain);}public String getName() {return name;}public void setName(String name) {this.name name;}public String getStrain() {return strain;}public void setStrain(String strain) {this.strain strain;}public Dog(String name, String strain) {this.name name;this.strain strain;} } 6.Set Set 入门案例 Set 不能重复无序;遍历用增强 for因为无序没有索引。代码 Test public void f01() {Set set new HashSet();//增set.add(中国);set.add(美国);set.add(中国);set.add(日本);set.add(韩国);System.out.println(set.size());for (Object o : set) {System.out.println(o);} } 7.Map Map 入门案例Map 是双列集合新增是(key value 结构)key 不能重复value 可以重复新增和修改用的是同一个方法——put代码 Test public void f01() {Map map new HashMap();map.put(China,中国);map.put(American,美国);map.put(England,英国);map.put(Japan,日本);map.put(China1,中国);System.out.println(map.size());//查Set set map.keySet();//增强forfor (Object key : set) {Object value map.get((String) key);System.out.println(key : value);} } 8.迭代器——Iterator 所有的增强 for 循环底层实际上是依赖于迭代器Iterator (1)有序 Test public void f01() {ArrayListInteger list new ArrayList();list.add(1);list.add(2);list.add(3);list.add(4);System.out.println(\n遍历方式1);for (int i 0; i list.size(); i) {System.out.println(list.get(i) );}System.out.println(\n遍历方式2);for (Integer i : list) {System.out.println(i );}System.out.println(\n遍历方式3);IteratorInteger iterator list.iterator();while(iterator.hasNext()){System.out.println(iterator.next() );} } (2)无序 Test public void f01() {SetInteger set new HashSet();set.add(1);set.add(2);set.add(6);set.add(4);System.out.println(\n遍历方式1);for (Integer i : set) {System.out.println(i );}System.out.println(\n遍历方式2);IteratorInteger iterator set.iterator();while (iterator.hasNext()) {System.out.println(iterator.next() );} } 9.Collections 集合框架工具类 Testpublic void f01() {ListInteger list new ArrayList();for (int i 1; i 11; i) {list.add(i);}//洗牌Collections.shuffle(list);System.out.println(洗牌的结果为: list );}Testpublic void f02() {ListInteger list new ArrayList();for (int i 1; i 11; i) {list.add(i);}//洗牌Collections.reverse(list);System.out.println(洗牌反转后的结果为: list );}Testpublic void f03() {ListInteger list new ArrayList();for (int i 1; i 11; i) {list.add(i);}//洗牌Collections.addAll(list,11,12);System.out.println(洗牌追加后的结果为: list );}
http://www.tj-hxxt.cn/news/131348.html

相关文章:

  • 怎么做兼职类网站石家庄网站制作招聘
  • 廊坊市网站推广网站广告推广价格
  • wordpress做资源下载站wordpress里无法添加图片
  • 广州天河区建设网站公司网站开发和竞价
  • 鹰潭做网站的汽配公司的网站要怎么做
  • 网站和管理系统的区别互联网营销师怎么做
  • 济南网站建设和优化wordpress菜单分列
  • wordpress自适应建站wordpress玻璃质感主题
  • 清河网站建设价格空气净化器用什么网站做外贸
  • php网站源码建设教程互联网创业项目排行榜
  • 网站开发报价明细济南网站seo报价
  • php网站制作工具做网站关键词必须要中文网址
  • 免费大数据查询做网站优化排名
  • 厦门 网站建设公司电话ftp上传文件到网站
  • 网站设计 布局南京 网站制作公司
  • 静态淘宝网站制作模板建设网站一般要多钱
  • 网站建设售后服务费包括哪些有没有让人做问卷的网站
  • jsp网站一个公司的网站怎么做的
  • 建设网站时的常见故障分类上海比较好的设计院
  • 简述可口可乐公司的企业网站建设wordpress注册用户验证
  • 黄岩区建设局网站飞鱼ip代理
  • win2003建网站荣耀手机商城官方网站下载
  • 闲置物品交易网站怎么做的定制开发平台
  • 响应式网站怎么设置网址seo查询
  • 坪山新区网站建设建设银行公积金预约网站首页
  • 网站推广策划案哪里有百度应用商店
  • 公司网站维护好做吗百家号和网站同步做
  • 做网站教程免费重庆互联网公司排名
  • 国外 网页框架搭建的网站商丘网信办
  • 网站开发哪个好上海做网站hlanggroup