mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Merge branch 'youngyangyang04:master' into master
This commit is contained in:
@ -204,6 +204,31 @@ fun removeNthFromEnd(head: ListNode?, n: Int): ListNode? {
|
||||
}
|
||||
```
|
||||
|
||||
Swift:
|
||||
```swift
|
||||
func removeNthFromEnd(_ head: ListNode?, _ n: Int) -> ListNode? {
|
||||
if head == nil {
|
||||
return nil
|
||||
}
|
||||
if n == 0 {
|
||||
return head
|
||||
}
|
||||
let dummyHead = ListNode(-1, head)
|
||||
var fast: ListNode? = dummyHead
|
||||
var slow: ListNode? = dummyHead
|
||||
// fast 前移 n
|
||||
for _ in 0 ..< n {
|
||||
fast = fast?.next
|
||||
}
|
||||
while fast?.next != nil {
|
||||
fast = fast?.next
|
||||
slow = slow?.next
|
||||
}
|
||||
slow?.next = slow?.next?.next
|
||||
return dummyHead.next
|
||||
}
|
||||
```
|
||||
|
||||
-----------------------
|
||||
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
|
||||
* B站视频:[代码随想录](https://space.bilibili.com/525438321)
|
||||
|
@ -256,6 +256,27 @@ fun swapPairs(head: ListNode?): ListNode? {
|
||||
}
|
||||
```
|
||||
|
||||
Swift:
|
||||
```swift
|
||||
func swapPairs(_ head: ListNode?) -> ListNode? {
|
||||
if head == nil || head?.next == nil {
|
||||
return head
|
||||
}
|
||||
let dummyHead: ListNode = ListNode(-1, head)
|
||||
var current: ListNode? = dummyHead
|
||||
while current?.next != nil && current?.next?.next != nil {
|
||||
let temp1 = current?.next
|
||||
let temp2 = current?.next?.next?.next
|
||||
|
||||
current?.next = current?.next?.next
|
||||
current?.next?.next = temp1
|
||||
current?.next?.next?.next = temp2
|
||||
|
||||
current = current?.next?.next
|
||||
}
|
||||
return dummyHead.next
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
-----------------------
|
||||
|
@ -1072,6 +1072,32 @@ class Solution {
|
||||
}
|
||||
```
|
||||
|
||||
```java
|
||||
//方法二:用一个max变量来保存最大值
|
||||
class Solution {
|
||||
public List<Integer> largestValues(TreeNode root) {
|
||||
Queue<TreeNode> queue = new LinkedList<TreeNode>();
|
||||
List<Integer> result = new ArrayList<>();
|
||||
if (root != null) queue.add(root);
|
||||
|
||||
while(!queue.isEmpty()){
|
||||
int size = queue.size();
|
||||
int max = Integer.MIN_VALUE; // 初始化为最小值
|
||||
for(int i = 0; i < size; i++){
|
||||
TreeNode node = queue.poll();
|
||||
max = Math.max(node.val, max);
|
||||
if(node.left != null)
|
||||
queue.add(node.left);
|
||||
if(node.right != null)
|
||||
queue.add(node.right);
|
||||
}
|
||||
result.add(max); // 取最大值放进数组
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
go:
|
||||
|
||||
```GO
|
||||
@ -1597,6 +1623,43 @@ public:
|
||||
```
|
||||
|
||||
Java:
|
||||
```java
|
||||
class Solution {
|
||||
|
||||
public int minDepth(TreeNode root){
|
||||
if (root == null) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
Queue<TreeNode> queue = new LinkedList<>();
|
||||
queue.offer(root);
|
||||
int depth = 0;
|
||||
|
||||
while (!queue.isEmpty()){
|
||||
|
||||
int size = queue.size();
|
||||
depth++;
|
||||
|
||||
TreeNode cur = null;
|
||||
for (int i = 0; i < size; i++) {
|
||||
cur = queue.poll();
|
||||
|
||||
//如果当前节点的左右孩子都为空,直接返回最小深度
|
||||
if (cur.left == null && cur.right == null){
|
||||
return depth;
|
||||
}
|
||||
|
||||
if (cur.left != null) queue.offer(cur.left);
|
||||
if (cur.right != null) queue.offer(cur.right);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return depth;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Python 3:
|
||||
|
Reference in New Issue
Block a user