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

贸易公司如何做网站网站改备案信息

贸易公司如何做网站,网站改备案信息,建设工程信息网站,30分钟seo网站Leetcode hot100 二叉树1.二叉树的层序遍历2.验证二叉搜索树3.二叉树的右视图 二叉树 1.二叉树的层序遍历 二叉树的层序遍历 二叉树的层序遍历可以用先进先出的队列来实现。 将每一层的所有node都添加到队列中#xff0c;记录下当前队列的长度#xff0c;即该层的元素数量记录下当前队列的长度即该层的元素数量 遍历队列中当前层的元素添加该层每一个元素的左右子树。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:vectorvectorint levelOrder(TreeNode* root) {queueTreeNode* q;vectorvectorint ans;if (root nullptr) return ans;q.push(root);while (!q.empty()) {int n q.size();vectorint v;while (n--) {auto tmp q.front();q.pop();v.push_back(tmp-val);if (tmp-left) q.push(tmp-left);if (tmp-right) q.push(tmp-right);}ans.push_back(v);}return ans;} };2.验证二叉搜索树 验证二叉搜索树 如果该二叉树的左子树不为空则左子树上所有节点的值均小于它的根节点的值 若它的右子树不空则右子树上所有节点的值均大于它的根节点的值它的左右子树也为二叉搜索树。 不能单纯的比较左节点小于中间节点右节点大于中间节点比如我写出了类似这样的代码 class Solution { public:bool isValidBST(TreeNode* root) {if (root nullptr) return true;if (root-left nullptr || root-right nullptr) return false;if (root-val root-left-val || root-val root-right-val) return false;return (isValidBST(root-left) isValidBST(root-right));} };我们要比较的是 左子树所有节点小于中间节点右子树所有节点大于中间节点。所以以上代码的判断逻辑是错误的。 例如 [10,5,15,null,null,6,20] 这个case 节点10大于左节点5小于右节点15但右子树里出现了一个6 这就不符合了 方法一辅助函数 这启示我们设计一个递归函数 bfs(TreeNode* root, long long max, long long min) 来递归判断函数表示考虑以 root 为根的子树判断子树中所有节点的值是否都在 (l,r) 的范围内注意是开区间。如果 root 节点的值 val 不在 (l,r) 的范围内说明不满足条件直接返回否则我们要继续递归调用检查它的左右子树是否满足如果都满足才说明这是一棵二叉搜索树。 注意这里的 long long 和 LONG_MAX/LONG_MIN /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:bool bfs(TreeNode* root, long long max, long long min) {if (root nullptr) return true;if (root-val max || root-val min) return false;return (bfs(root-left, root-val, min) bfs(root-right, max, root-val));}bool isValidBST(TreeNode* root) {if (root nullptr) return true;return bfs(root, LONG_MAX, LONG_MIN);} };方法二中序遍历 二叉搜索树的中序遍历以后得到的序列一定是升序序列 中序遍历时判断当前节点是否大于中序遍历的前一个节点如果大于说明满足 BST继续遍历否则直接返回 false。 /** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:long pre LONG_MIN;bool isValidBST(TreeNode* root) {if (root nullptr) return true;//先访问左子树bool left isValidBST(root-left);//判断当前节点是否大于前一个节点if (root-val pre) return false;pre root-val;//访问右子树bool right isValidBST(root-right);return left right;} };3.二叉树的右视图 二叉树的右视图 题目结果可以用二叉树的层序遍历来实现每次只留下每一层最右侧的值就比较简单啦 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:vectorint rightSideView(TreeNode* root) {vectorint ans;if (root nullptr) return ans;queueTreeNode* q;q.push(root);while (!q.empty()) {int n q.size();TreeNode* tmp nullptr;while (n--) {tmp q.front();q.pop();if (tmp-left) q.push(tmp-left);if (tmp-right) q.push(tmp-right);}ans.push_back(tmp-val);}return ans;} };
http://www.pierceye.com/news/792752/

相关文章:

  • 企业商城建站公司网站页面加密
  • 昆山教育云平台网站建设软件工程师考试报名
  • ps做网站大小尺寸大连开发区商场
  • 化妆品网站建设网站右键禁止
  • wordpress 没有样式表网站如何免费做SEO优化
  • 青岛有没有专门做淘宝网站中国建设人才网站
  • 网站移动端是什么问题吗怎样自己做免费的网站
  • 做网站没有做退钱宁波品牌策划公司
  • 网站备案 不关站家乡网页制作模板
  • 成都网站建设企业 排名网络营销推广方案ppt
  • 阳西住房和城乡规划建设局网站微信公众号商城制作
  • 石家庄自助建站软件邯郸做紧固件网站
  • 做川菜的网站动画制作网页
  • 网站建设的英文域名注册需要什么条件
  • wordpress管理系统贵州seo和网络推广
  • 网站第二次备案设计方案审核合格后由谁签字确认
  • 网页设计和网站编辑wordpress 页面瀑布流
  • 福田网站建设龙岗网站建设ie的常用网站
  • 网站推广途径和推广要点地产网站方案
  • 用asp做的网站2021互联网公司100强
  • 网站运营无经验可以做吗垂直类网站怎么做
  • 中国站长网站wordpress开启xmlrpc
  • 网站建设的好处建设工程质量管理条例网站
  • asp.net网站建设教程做电影网站 需要进那些群
  • 2013网站挂马教程长沙网站建设优化
  • 网站搭建详细教程wordpress 找不到主题
  • 陕西省建设厅申报网站大型网站建设公司推荐
  • 企业商城建站外贸建站上海
  • 织梦如何做网站网页设计公司背景
  • 购买域名网站程序员外包公司到底值不值得去