数据结构05:树与二叉树 习题01[C++]

   

考研笔记整理,本篇作为树与二叉树的基本概念习题,供小伙伴们参考~🥝🥝

之前的博文链接在此:数据结构05:树与二叉树[C++]-CSDN博客~🥝🥝

  • 第1版:王道书的课后习题~🧩🧩

编辑:梅头脑🌸

参考用书:王道考研《2025年 数据结构考研复习指导》


目录

🧵01 三叉树最小高度

🧵02 节点与度(一)

🧵03 节点与度(二)

🧵04 二叉树节点与度

🧵05 满二叉树节点数

🧵06 完全二叉树节点数

🧵07 满二叉树节点与编号

🧵08 顺序存储二叉树的公共祖先

🧵09 k二叉树节点

🔚结语


🧵01 三叉树最小高度

🧩题目

含有n个结点的三叉树的最小高度是多少?

📇解题思路

 高度为1的三叉树有1个结点,等比数列求和公式为:1 = 1x(3^1-1)/(3-1) = 1
 高度为2的三叉树有4个结点,等比数列求和公式为:1+3 = 1x(3^2-1)/(3-1) = 4
 高度为3的三叉树有13个结点,等比数列求和公式为:1+3+9 = 1x(3^3-1)/(3-1) = 13
 ...
 高度为n的三叉树有1+3+9+...+3^(n-1)个结点,等比数列求和公式为:n = 1+3+9+...+3^(h-1) = 1x(3^h-1)/(3-1) = (3^h-1)/2
 移项:3^h = 2*n + 1,取对数:h = log3(2*n + 1),向上取整,即为最小高度。


🧵02 节点与度(一)

🧩题目

已知一棵度为4的树中,度为0,1,2,3 的结点数分别为14,4,3,2个,求该树的节点总数n和度为4的结点个数,并给出推导过程。

📇解题思路

 节点数 = 分支数 + 1,因为没有指向根节点的分支;
 节点数 = 14 + 4 + 3 + 2  = 23;
 度为1、2、3的分支数 = 14*0 + 4*1 + 3*2 + 2*3 = 4 + 6 + 6 = 16;
 度为4的分支数 = 总分支数 - 度为1、2、3的分支数 = 23 - 16 = 7;
 度为4的结点数 = (度为4的分支数 + 1) / 4 = (7 + 1) / 4 = 2;
 节点总数 = 度为1、2、3的结点数 + 度为4的结点数 = 14 + 4 + 3 + 2 + 2 = 25;


🧵03 节点与度(二)

🧩题目

已知一棵度为m的树中,有n1个度为1的节点,有n2个度为2的节点……有nm个度为m的节点,问该树有多少叶节点?

📇解题思路

节点数 = 分支数 + 1,因为没有指向根节点的分支;
节点数 = n0 + n1 + n2 + n3 + …… + nm;
分支数 = n0*0 + n1*1 + n2*2 + n3*3 + …… + nm*m;
代入等式,n0 + n1 + n2 + n3 + …… + nm = n0*0 + n1*1 + n2*2 + n3*3 + …… + nm*m + 1;
n0节点总数 = n1*(1-0) + n2*(2-1) + n3*(3-1) + …… + nm*(m-1) + 1 ;


🧵04 二叉树节点与度

🧩题目

 在一棵完全二叉树中, 含有n0个叶结点, 当度为1的结点数为1时, 该树的高度是多少 ? 当度为1的结点数为0时,该树的高度是多少 ?

📇解题思路

 二叉树的节点数n = n0 + n1 + n2,其中n0为叶子节点数,n1为度为1的节点数,n2为度为2的节点数;
 二叉树的节点数n = 分支数 + 1 = n1 + 2 * n2 + 1;
 联立以上两个等式,得到n0 = n2 + 1;
 又因为完全二叉树的高度h = log2(n + 1),向上取整; 
 当度为1的结点数为1时,n = n0 + 1 +  n0 - 1 = 2 * n0,所以 h = log2[2 * n0 + 1],向上取整;
 当度为1的结点数为0时,n = n0 + n0 - 1 = 2 * n0 - 1,所以 h = log2[2 * n0],向上取整;


🧵05 满二叉树节点数

🧩题目

 一棵有n个结点的满二叉树有多少个分支结点和多少个叶结点?该满二叉树的高度是多少?

📇解题思路

 二叉树的节点数n = n0 + n1 + n2,其中n0为叶子节点数,n1为度为1的节点数,n2为度为2的节点数;
 满二叉树不存在n1。又因为二叉树满足 n0 = n2 + 1;
 所以,满二叉树的节点数n = 2 * n0 - 1 = 2 * n2 + 1; 节点 n0 = (n + 1) / 2, 节点 n2 = (n - 1) / 2;
 满二叉树的节点n = 2^h - 1,高度h = log2(n + 1)。


🧵06 完全二叉树节点数

🧩题目

 已知完全二叉树的第9层有 240个结点,则整个完全二叉树有多少个结点 ? 有多少个叶结点 ?

📇解题思路

 完全二叉树的第n层最多有 2^(n-1) 个结点,第9层最多有 2^8 = 256 个结点;因此,考虑到完全二叉树的性质,240个节点均为叶结点;
 但叶结点并非仅有第9层才有,第8层也有叶结点,第8层最多有 2^7 = 128 个结点,被第9层用掉 240 / 2 = 120个叶结点,还剩 8 个叶结点;整棵树共计248个叶结点,没有 n1 节点;
 完全二叉树的结点数 n = n0 + n1 + n2 = n0 + (n0 - 1) = 2 * (240 + 8) - 1 = 495 个结点;


🧵07 满二叉树节点与编号

🧩题目

一棵高度为h的满 m又树有如下性质 : 根结点所在层次为第1层,第h层上的结点都是叶结点,其余各层上每个结点都有m棵非空子树,若按层次自顶向下,同一层自左向右
顺序从1开始对全部结点进行编号,试问 :
1)各层的结点个数是多少 ?
2)编号为i的结点的双亲结点(若存在)的编号是多少 ?
3)编号为i的结点的第k个孩子结点(若存在)的编号是多少 ?
4)编号为i的结点有右兄弟的条件是什么 ? 其右兄弟结点的编号是多少 ?

📇解题思路

 1)等比数列,第i层的结点个数是 m^(i-1);
 3)在三叉树中,节点2、3、4的双亲节点为1,节点5、6、7的双亲节点为2,即孩子节点 = (双亲节点i - 1) * 3 + 1 + k;同理,在m叉树中,第2、3、...m + 1的双亲节点为1,节点m + 2、m + 3、...2m + 1的双亲节点为2,即孩子节点 = (双亲节点i - 1) * m + 1 + k;
 2)根据3)题,第1个孩子节点 = (双亲节点i - 1) * m + 2;因此,编号为i的结点的双亲结点的编号是 ((i - 2) / m) + 1,向下取整;
 4)根据3)题,最后1个孩子节点i = (双亲节点 - 1) * m + 1;因此,编号为i的结点有右兄弟的条件是 (i - 1) % m != 0,其右兄弟结点的编号是 i + 1;


🧵08 顺序存储二叉树的公共祖先

🧩题目

已知一棵二叉树按顺序存储结构进行存储,设计一个算法,求编号分别为i和j的两个结点的最近的公共祖先结点的值。

📇友情配图

我们以下的代码以这棵树为例,为了方便求祖先,这里将数组编号与内容对应一致~

以下解法的核心思路都是建立在:

  • 父节点序号 = (子节点序号 - 1)/ 2 的基础上,注意计算机运算会自动向下取整;
  • 假设树中节点没有负值,返回-1表示该节点不存在。

📇解题思路1:使用2个栈完成遍历

使用两个栈,分别存储节点 1 和 2 的祖先。

然后从两个栈的起点开始同时遍历,如果节点相同,表明该节点是二者公共祖先;否则,该节点不满足题目要求,停止循环。

这个解题代码的空间复杂度和时间复杂度都很高,完全不推荐

⌨️解题代码

#include <iostream>
#include <vector>
#include <stack>
using namespace std;// 二叉树的顺序存储结构
typedef struct {vector<int> tree;
} SqBiTree;int find_common_ancestor(SqBiTree T, int i, int j) {if (i < 0 || i >= T.tree.size() || j == -1 || j >= T.tree.size()) { return -1; }// 根据节点下标,确认祖先节点的位置,并将祖先全部入栈int index1 = i;int index2 = j;stack<int> ancestor1;stack<int> ancestor2;do {ancestor1.push(T.tree[index1]);if (index1 > 1) { index1 = (index1 - 1) / 2; }else { index1 = index1 - 1; }} while (index1 >= 0);do {ancestor2.push(T.tree[index2]);if (index2 > 1) index2 = (index2 - 1) / 2;else { index2 = index2 - 1; }} while (index2 >= 0);// 从栈顶开始遍历,如果节点相同,继续往下遍历;如果节点不同,退出循环int common_ancestor = -1;while (!ancestor1.empty() && !ancestor2.empty()) {if (ancestor1.top() != ancestor2.top()) { break; }common_ancestor = ancestor1.top();ancestor1.pop();ancestor2.pop();}return common_ancestor;
}int main() {SqBiTree T = { {0, 1, 2, 3, 4, 5, 6, 7, 8} };int node1 = -1, node2 = -1, result = -1;node1 = 7, node2 = 8;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 5, node2 = 2;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 3, node2 = 6;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 9, node2 = 3;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;return 0;
}

⌨️跑题代码

以下这个代码跑题了,传入的参数是节点值,而非节点编号,😣——

#include <iostream>
#include <vector>
#include <stack>
using namespace std;// 二叉树的顺序存储结构
typedef struct {vector<int> tree;
} SqBiTree;int find_common_ancestor(SqBiTree T, int node1, int node2) {// 从数组中找到 node1, node2的下标int locate1 = -1;int locate2 = -1;for(int i = 0; i < T.tree.size(); i++){if (T.tree[i] == node1) { locate1 = i; }if (T.tree[i] == node2) { locate2 = i; }}if (locate1 == -1 || locate2 == -1) { return -1; }// 根据节点下标,确认祖先节点的位置,并将祖先全部入栈int index1 = locate1;int index2 = locate2;stack<int> ancestor1;stack<int> ancestor2;do {ancestor1.push(T.tree[index1]);if (index1 > 1) { index1 = (index1 - 1) / 2; }else {index1 = index1 - 1;}} while (index1 >= 0);do {ancestor2.push(T.tree[index2]);if (index2 > 1) index2 = (index2 - 1) / 2;else { index2 = index2 - 1; }} while (index2 >= 0);// 从栈顶开始遍历,如果节点相同,继续往下遍历;如果节点不同,退出循环int common_ancestor = -1;while (!ancestor1.empty() && !ancestor2.empty()) {if (ancestor1.top() != ancestor2.top()) { break; }common_ancestor = ancestor1.top();ancestor1.pop();ancestor2.pop();}return common_ancestor;
}int main() {SqBiTree T = { {0, 1, 2, 3, 4, 5, 6, 7, 8} };int node1 = -1, node2 = -1, result = -1;node1 = 7, node2 = 8;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 5, node2 = 2;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 3, node2 = 6;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 9, node2 = 3;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;return 0;
}

📇解题思路2:使用2个循环完成遍历

从2个节点的位置开始向祖先遍历,每次循环时,较远的节点找到其祖先,然后判断2个节点的祖先此时是否相等~

相比上一个代码,代码的数量、遍历的次数和使用的空间都减少了很多~

 ⌨️解题代码

#include <iostream>
#include <vector>
#include <stack>
using namespace std;// 二叉树的顺序存储结构
typedef struct {vector<int> tree;
} SqBiTree;int find_common_ancestor(SqBiTree T, int i, int j) {if (i < 0 || i >= T.tree.size() || j == -1 || j >= T.tree.size()) { return -1; }// 根据节点下标,确认祖先节点的位置while (i != j) {if (i > j)i = (i - 1) / 2;elsej = (j - 1) / 2;}return T.tree[i];
}int main() {SqBiTree T = { {0, 1, 2, 3, 4, 5, 6, 7, 8} };int node1 = -1, node2 = -1, result = -1;node1 = 7, node2 = 8;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 5, node2 = 2;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 3, node2 = 6;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 9, node2 = 3;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;return 0;
}

⌨️跑题代码

和上面的理由一样,以下这个代码跑题了,传入的参数是节点值,而非节点编号,😣——

#include <iostream>
#include <vector>
using namespace std;// 二叉树的顺序存储结构
typedef struct {vector<int> tree;
} SqBiTree;int find_common_ancestor(SqBiTree T, int node1, int node2) {// 从数组中找到 node1, node2的下标int locate1 = -1;int locate2 = -1;for(int i = 0; i < T.tree.size(); i++){if (T.tree[i] == node1) { locate1 = i; }if (T.tree[i] == node2) { locate2 = i; }}if (locate1 == -1 || locate2 == -1) { return -1; }// 根据节点下标,确认祖先节点的位置while (locate1 != locate2) {if (locate1 > locate2)locate1 = (locate1 - 1) / 2;elselocate2 = (locate2 - 1) / 2;}return T.tree[locate1];
}int main() {SqBiTree T = { {0, 1, 2, 3, 4, 5, 6, 7, 8} };int node1 = -1, node2 = -1, result = -1;node1 = 7, node2 = 8;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 5, node2 = 2;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 3, node2 = 6;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;node1 = 9, node2 = 3;result = find_common_ancestor(T, node1, node2);cout << "节点 " << node1 << " 与 " << node2 << " 的公共祖先是节点 " << result << endl;return 0;
}


🧵09 k二叉树节点

🧩题目

【2016统考真题】若一棵非空k(k >= 2)又树T中的每个非叶结点都有k个孩子,则称I为正则k叉树。请回答下列问题并给出推导过程。
1)若T有m个非叶结点,则T中的叶结点有多少个 ?
2)若T的高度为h(单结点的树h = 1),则T的结点数最多为多少个 ? 最少为多少个 ?

📇解题思路

1) 最少是除了根节点层与底层外,每层有1个节点有k个孩子,其它 k-1 个节点是叶结点:n = m + n0 = 1 + k * m, n0 = (k - 1)*m + 1;
2) 最多是满二叉树:1 + k + k^2 + ... = (k^(h - 1) - 1)(k - 1); 最少是1 + k + k + ... = k * (h - 1) + 1;


🔚结语

博文到此结束,写得模糊或者有误之处,欢迎小伙伴留言讨论与批评,督促博主优化内容{例如有错误、难理解、不简洁、缺功能}等,博主会顶锅前来修改~😶‍🌫️

我是梅头脑,本片博文若有帮助,欢迎小伙伴动动可爱的小手默默给个赞支持一下,收到点赞的话,博主肝文的动力++~🌟🌟

同系列的博文:🌸数据结构_梅头脑_的博客-CSDN博客

同博主的博文:🌸随笔03 笔记整理-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/323642.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DenseCLIP论文讲解

文章目录 简介方法总体框架 &#xff08;Language-Guided Dense Prediction&#xff09;上下文感知提示 &#xff08;Context-Aware Prompting&#xff09;应用实例 论文&#xff1a;DenseCLIP: Language-Guided Dense Prediction with Context-Aware Prompting 代码&#xff1…

最全软件测试面试问题和回答,适合全文背诵

求职&#xff0c;类似于打仗&#xff0c;是一场挑战自己的战斗&#xff0c;也是一场跟用人单位的博弈&#xff0c;更是一场千人过独木桥的厮杀、混战。《孙子谋攻篇》中早就说了&#xff1a;"知己知彼&#xff0c;百战不殆&#xff1b;不知彼而知己&#xff0c;一胜一负&a…

python数据分析——数据的选择和运算

数据的选择和运算 前言一、数据选择NumPy的数据选择一维数组元素提取示例 多维数组行列选择、区域选择示例 花式索引与布尔值索引布尔索引示例一示例二 花式索引示例一示例二 Pandas数据选择Series数据获取DataFrame数据获取列索引取值示例一示例二 取行方式示例loc() 方法示例…

error LNK2001: 无法解析的外部符号 “__declspec(dllimport) public: __cdecl ......

运行程序时&#xff0c;报如上图所示错误&#xff0c;其中一条是&#xff1a; ReflectionProbe.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __cdecl osg::Object::Object(bool)" (__imp_??0ObjectosgQEAA_NZ) 报这个错误一般是因为…

10.轮转数组

文章目录 题目简介题目解答解法一&#xff1a;使用额外的数组代码&#xff1a;复杂度分析&#xff1a; 解法二&#xff1a;数组反转代码&#xff1a;复杂度分析&#xff1a; 题目链接 大家好&#xff0c;我是晓星航。今天为大家带来的是 轮转数组 相关的讲解&#xff01;&#…

Gradle基础学习(六) 认识任务Task

理解Gradle中的任务 Gradle的构建过程基于任务&#xff08;Task&#xff09;的概念&#xff0c;而每个任务都可以包含一个或多个动作&#xff08;Action&#xff09;。 任务是构建中执行的一些独立的工作单元&#xff0c;例如编译类、创建JAR、生成Javadoc或将存档发布到仓库…

达梦数据库限制用户登录IP测试

达梦数据库创建用户时可以限制登录ip和时间段。 创建测试测试用户 create user test1 identified by Test_1234 ALLOW_IP "192.168.100.101"; 限定该用户只能通过192.168.100.101地址登录数据库 连接测试 上图可见&#xff0c;192.168.100.101客户端可以连接上19…

【数据结构】 二叉树的顺序结构——堆的实现

普通的二叉树是不适合用数组来存储的&#xff0c;因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储 。 一、堆的概念及结构 父节点比孩子结点大 是大堆 父节点比孩子结点小 是小堆 堆的性质 堆中某…

java学习笔记反射机制

2.关于反射的理解 Reflection&#xff08;反射)是被视为动态语言的关键&#xff0c;反射机制允许程序在执行期借助于Reflection API取得任何 类的内部信息&#xff0c;并能直接操作任意对象的内部属性及方法。 框架 反射 注解 设计模式。 3.体会反射机制的“动态性” //…

什么是限流?常见的限流算法

目录 1. 什么是限流 2. 常见限流算法 3. 固定窗口算法 4. 滑动窗口算法 5. 漏桶算法 6. 令牌桶算法 7. 限流算法选择 1. 什么是限流 限流&#xff08;Rate Limiting&#xff09;是一种应用程序或系统资源管理的策略&#xff0c;用于控制对某个服务、接口或功能的访问速…

WordPress插件:链接自动识别转为超链接

WordPress插件&#xff1a;链接自动识别转为超链接 <?phpfunction open_links_in_new_tab() {add_filter(the_content, make_clickable);function autoblank($text) {$return str_replace(<a, <a target"_blank", $text);return $return;}add_filter(th…

【Python】selenium爬虫常见用法和配置,以及常见错误和解决方法

欢迎来到《小5讲堂》 这是《Python》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 前言无执行文件代码报错信息错误路径手动下载自动下载 选项配置Ch…

面试笔记——类加载器

基础 类加载器&#xff1a;用于装载字节码文件(.class文件)运行时数据区&#xff1a;用于分配存储空间执行引擎&#xff1a;执行字节码文件或本地方法垃圾回收器&#xff1a;用于对JVM中的垃圾内容进行回收 类加载器 &#xff1a;JVM只会运行二进制文件&#xff0c;类加载器的…

组件目录存放问题

目录 一、思考引入 二、组件分类 三、组件分类的目的 一、思考引入 .vue文件本质无区别&#xff0c;而路由相关的组件&#xff0c;为什么要放在views目录呢&#xff1f; 二、组件分类 .vue文件分2类&#xff1a;页面组件和复用组件。注意&#xff1a;都是.vue文件&#xff…

调试记录 CPU PCIE 找不到设备,AC 耦合电容的问题

1. 问题 现象&#xff1a; 1. 国产CPU的主板&#xff0c;主板内的PCIE 设备找的到&#xff0c;但是另一块板子上连接的PCIE 设备找不到。 2. 排查问题在哪里的计划 1. 检查原理图先排除信号定义的问题&#xff0c; TXRX是否反接。 2. 示波器检查PCIE 的时钟频率是否正确。 3. …

蒸汽工厂的新翼:数字孪生锅炉引领未来

在飞速发展的工业4.0时代&#xff0c;数字孪生技术已经深入到我们生产生活的方方面面。而对于那些承载着重工业血脉的蒸汽工厂来说&#xff0c;一项新的技术正在悄然改变它们的未来。 走进蒸汽工厂&#xff0c;感受传统与现代的交融 蒸汽工厂&#xff0c;这个充满力量与热情的…

翻译《The Old New Thing》 - Restating the obvious about the WM_COMMAND message

Restating the obvious about the WM_COMMAND message - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20060302-10/?p32093 Raymond Chen 2006年03月02日 关于 WM_COMMAND 消息的显而易见的知识点补充 简要 本文详细解释了 WM_COMMAND 消息…

一文读懂ipv4和ipv6的区别

IPv4和IPv6是互联网协议的两个主要版本&#xff0c;它们在多个方面存在显著的差异。以下是关于IPv4和IPv6之间区别的详细探讨&#xff1a; 一、地址空间 IPv4使用32位地址&#xff0c;理论上可以表示约42.9亿个不同的地址。然而&#xff0c;由于地址分配的不均衡以及网络技术的…

清华团队开发首个AI医院小镇模拟系统;阿里云发布通义千问 2.5:超越GPT-4能力;Mistral AI估值飙升至60亿美元

&#x1f989; AI新闻 &#x1f680; 清华团队开发首个AI医院小镇模拟系统 摘要&#xff1a;来自清华的研究团队最近开发出了一种创新的模拟系统&#xff0c;名为"Agent Hospital"&#xff0c;该系统能够完全模拟医患看病的全流程&#xff0c;其中包括分诊、挂号、…

element ui的确认提示框按钮样式修改

修改确认提示框的默认按钮样式&#xff0c;使用css强制修改 例&#xff1a; js代码&#xff1a; deleteUser(params){this.$confirm("您确定要删除吗&#xff1f;此操作无法撤销并且将永久删除所有数据。", "提示", { type: "warning", cancel…