第905题:
给定一个非负整数数组 A
,返回一个数组,在该数组中, A
的所有偶数元素之后跟着所有奇数元素。
你可以返回满足此条件的任何数组作为答案。(来自LeetCode)
1、利用两个指针 left 和 right 分别指向数组下标 0 和 length-1,然后当 left 指向奇数,right 指向偶数时,将两元素交换;
不满足条件就将对应的指针向内部移动,最后得到偶数元素之后跟着奇数元素的数组。
第841题:
有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。
在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i],每个钥匙 rooms[i][j] 由 [0,1,...,N-1] 中的一个整数表示,其中 N = rooms.length。 钥匙 rooms[i][j] = v 可以打开编号为 v 的房间。
最初,除 0 号房间外的其余所有房间都被锁住。
你可以自由地在房间之间来回走动。
如果能进入每个房间返回 true,否则返回 false。来源:力扣(LeetCode)
1、意思和连通图差不多,你进入一个房间,这个房间有另外几个房间的钥匙,说明这个房间有一条道路通往那几个房间;
那么就意味着这是一个图的遍历问题,最终判定你是不是把这个图内的节点都遍历到了;
可以使用深度优先遍历来遍历可以遍历到的节点。
2、也可以使用广度优先遍历来遍历图,再进行判断得出结果。
第844题:
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。
注意:如果对空文本输入退格字符,文本继续为空。来源:力扣(LeetCode)
1、利用栈来存储存在的字符,如果不是#就推入栈,是#就将栈顶那个元素出栈,最终比较两个字符串的栈内元素是否相等。