1305. 两棵二叉搜索树中的所有元素
var getAllElements = function(root1, root2) {
let arr1=getVal(root1)
let arr2=getVal(root2)
//合并有序数组
let ans=[]
let l1=0,l2=0
while(1){
if (l1 === arr1.length) {
for (let i = l2; i < arr2.length; i++) {
ans.push(arr2[i]);
}
break;
}
if (l2 === arr2.length) {
for (let i = l1; i < arr1.length;i++) {
ans.push(arr1[i]);
}
break;
}
if(arr1[l1]<arr2[l2]){
ans.push(arr1[l1])
l1++
}else{
ans.push(arr2[l2])
l2++
}
}
return ans
};
//先中序遍历得到有序数组
const getVal=(root)=>{
if(!root)return []
let res=[]
const dfs=(node)=>{
if(!node)return
dfs(node.left)
res.push(node.val)
dfs(node.right)
}
dfs(root)
return res
}
88. 合并两个有序数组
var merge = function(nums1, m, nums2, n) {
//双指针,贝壳一面
let l1=0,l2=0
const res=new Array(m+n).fill(0)
let cur
while(l1<m || l2<n){
if(l1===m){
cur=nums2[l2]
l2++
}
else if(l2===n){
cur=nums1[l1]
l1++
}
else if(nums1[l1]<nums2[l2]){
cur=nums1[l1]
l1++
}
else{
cur=nums2[l2]
l2++
}
res[l1+l2-1]=cur
}
for(let i=0;i<m+n;i++){
nums1[i]=res[i]
}
};
1544. 整理字符串
var makeGood = function(s) {
let stack=[]
for(let i=0;i<s.length;i++){
if(stack.length && Math.abs(s[i].charCodeAt()-stack[stack.length-1].charCodeAt())===32){
stack.pop()
}
else{
stack.push(s[i])
}
}
return stack.join('')
};
1614. 括号的最大嵌套深度
var maxDepth = function(s) {
let res=0,size=0
for(let i=0;i<s.length;i++){
if(s[i]==='('){
size++
res=Math.max(size,res)
}
if(s[i]===')'){
size--
}
}
return res
};
剑指 Offer II 052. 展平二叉搜索树
var increasingBST = function(root) {
let order=getVal(root)
let dummyNode=new TreeNode(-1)
let cur=dummyNode
for(let i of order){
cur.right=new TreeNode(i)
cur=cur.right
}
return dummyNode.right
};
const getVal=(root)=>{
let res=[]
const dfs=(node)=>{
if(!node)return
dfs(node.left)
res.push(node.val)
dfs(node.right)
}
dfs(root)
return res
}
1700. 无法吃午餐的学生数量
var countStudents = function(students, sandwiches) {
while(1){
let cur=students[0]
if(cur!==sandwiches[0]){
students.shift()
students.push(cur)
}else{
students.shift()
sandwiches.shift()
}
if(!students.includes(sandwiches[0])){
break
}
}
return students.length
};
栈简单题写完啦!